int start(){ double a=0.12; double b; for (int i=0; i<2; i++){ a*=10; a=NormalizeDouble(a,8); b=MathFloor(a); Print("b=",DoubleToStr(b,8)); a-=b; } return(0); }
Спасибо за помощь и оперативность. Самой интересное, что я пробовал нормализировать, но не смог поймать ошибку. Есть ли объяснение такому поведению MathFloor() или переменной "a" после операций с ней? К примеру, из ряда чисел 0,11-0,19, если не нормализировать, то такая проблема возникает только с числами 0,12 и 0,18. Почему так?
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Доброе время суток.
Прошу помочь с кодом. Поиском по MathFloor() ответа не нашел. Есть скрипт:
Print() должен вывести сначала 1 потом 2. Но выводит 1 и 1.
Если a=0.13 то вывод правильный 1 и 3.
Подскажите пожалуйста в чем проблема?