Всем привет! подскажите знающие люди, вот в чем:
Есть число: 0.810000000000001 (может быть любым в принципе), как округлить ее до 0.81?
Или например: 123.922000011 округлить до 123.93?
NormalizeDouble(число типа double, точность округления)?
NormalizeDouble()?
не помогает, после него как раз и получается такое число, иногда нормально а иногда выдает километр после точки хотя у меня стоит NormalizeDouble(double_val,2)
не помогает, после него как раз и получается такое число, иногда нормально а иногда выдает километр после точки хотя у меня стоит NormalizeDouble(double_val,2)
Это да тоже замечал за ним такой грешок, но эксперт вроде работает торговые приказы отправляются по этому игнорировал этот баг и над альтернативой не думал.
Получается, но увидеть его нельзя. Можете убедиться, что число без хвоста как нибудь так - if(x==123.93)Alert("ok")
Можно увидеть если преобразовать в текст. Именно так я и заметил, что после нормализации в конце дробного числа проскакивает единичка. например 1.122340000001 потом на следующем тике может нормально показать 1.12234.
Можно увидеть если преобразовать в текст. Именно так я и заметил, что после нормализации в конце дробного числа проскакивает единичка. например 1.122340000001 потом на следующем тике может нормально показать 1.12234.
Тут нет уверенность, от нормализации ли нет хвоста или от преобразования в строку.
Надо один раз поэкспериментировать с if, убедиться, что NormalizeDouble() работает правильно, а потом использовать DoubleToString() для вывода.
Тут нет уверенность, от нормализации ли нет хвоста или от преобразования в строку.
Надо один раз поэкспериментировать с if, убедиться, что NormalizeDouble() работает правильно, а потом использовать DoubleToString() для вывода.
Это да согласен. Я не проверял в результате нормализации или в результате преобразования единица появляется.
Это да согласен. Я не проверял в результате нормализации или в результате преобразования единица появляется.
Просто от вывода появляется. Единственно правильный вывод с предварительным DoubleToString().
Число может быть нормализованным без хвоста, в этом можно убедиться через if(), а если его вывести через алерт или принт, появляется хвост.
Просто от вывода появляется. Единственно правильный вывод с предварительным DoubleToString().
Число может быть нормализованным без хвоста, в этом можно убедиться через if(), а если его вывести через алерт или принт, появляется хвост.
да, все верно, проверил, хвост только на принте. в общем для принта стал использовать DoubleToString и все стало гуд. спасибо всем!
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Всем привет! подскажите знающие люди, вот в чем:
Есть число: 0.810000000000001 (может быть любым в принципе), как округлить ее до 0.81?
Или например: 123.922000011 округлить до 123.93?