Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Все это только означает, что хелп по этой функции надо явно сделать лучше, чтобы предупредить о подводных камнях.
Попробовал справиться вот так:
Не вышло, как видим...Мы ничего никуда не округляем (до 0.1 или до 0.4). Почитайте документацию. Это Print выводит вещественные числа с точностью до 4-го знака. Хотите увидеть (именно увидеть) точность до 8-го знака используйте функцию DoubleToStr.
Слава, вот так правильно будет?
Слава, вот так правильно будет?
Да
Слава, вот так правильно будет?
Да
Благодарю...
Print(DoubleToStr(MathMod(4, 0.8), 8)); пишет 2007.10.05 14:17:56 Test EURGBP,H1: 0.80000000
Ну и что?
Возвращается 0.40000000. Не решает это проблему.Возвращает 0.3999999999999998
Вот исходник для DoubleToStrMorePrecision
Благодарю...
Print(DoubleToStr(MathMod(4, 0.8), 8)); пишет 2007.10.05 14:17:56 Test EURGBP,H1: 0.80000000
А у Вас возвращает 0.7999999999999998. Если воспользоваться функцией DoubleToStrMorePrecision
Благодарю...
Print(DoubleToStr(MathMod(4, 0.8), 8)); пишет 2007.10.05 14:17:56 Test EURGBP,H1: 0.80000000
А у Вас возвращает 0.7999999999999998. Если воспользоваться функцией DoubleToStrMorePrecision
Опять за рыбу деньги. С самого начала о чём разговор был? О входных параметрах. В Вашем случае на входе не ровно 0.8, а 0.80000000000000004 (4 в 17-м знаке после запятой, дебагер от вижуал студио мне показал)
Добро пожаловать в мир вещественных чисел.
Если Вам это не нравится (явно не нравится) переводите все Ваши вычисления на целочисленную основу.