0.02*4.9=0.098 -- а не 0.98
при выводе в формате 2 знака после десятичной точки -- 0.098 выводится округлённым до 0.10 по правилам округления
если выводить в формате 3 знака -- то будет выведено полное число.
0.02*4.9=0.098 -- а не 0.98
при выводе в формате 2 знака после десятичной точки -- 0.098 выводится округлённым до 0.10 по правилам округления
если выводить в формате 3 знака -- то будет выведено полное число.
Спасибо, поправил цифры.
В том и задача, что требуется взять 2 цифры после запятой. :) Почему округляется? Как можно взять дробное число без округления и только 2 цифры после запятой (0.09)?
Спасибо, поправил цифры.
В том и задача, что требуется взять 2 цифры после запятой. :) Почему округляется? Как можно взять дробное число без округления и только 2 цифры после запятой (0.09)?
Спасибо, поправил цифры.
В том и задача, что требуется взять 2 цифры после запятой. :) Почему округляется? Как можно взять дробное число без округления и только 2 цифры после запятой (0.09)?
int a=int(0.098/0.01); double b=a*0.01; Comment(DoubleToString(b,2));
переведите в строку и возьмите нужное количество символов
А попроще способа не знаете
А если так:
int a=int((0.09*5)/0.01); double b=a*0.01; Comment (DoubleToString (b,2));
То на выходе получаем 0.44, вместо требуемого 0.45.
А если так:
То на выходе получаем 0.44, вместо требуемого 0.45.
int a=int(MathFloor((0.98)/0.001)); double b=a*0.001; Comment(DoubleToString(b,2));
0.098, а не 0.98. :)
int a = int (MathFloor ((0.098) / 0.001)); double b = a * 0.001; Comment (DoubleToString (b, 2));
Восзвращает 1, а хотелось точное значение = 0.09.
А попроще способа не знаете
это первое что в голову пришло, конечно есть и по проще.
это кстати тоже не сложное, ну может по медленнее работает:
int DIGITS=2; string stroka=DoubleToString(0.09845,8); int P=StringFind(stroka,"."); Print(stroka); stroka=StringSubstr(stroka,0,P+DIGITS+1); Print(StringToDouble(stroka)); возвращает: 2014.10.04 11:32:53.731 normalize EURUSD,H4: 0.09 2014.10.04 11:32:53.731 normalize EURUSD,H4: 0.09845000
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Приветствую. Нужна помощь по задаче:
Все функции возвращают значение 0.1. Хотя (0.02*4.9) = 0.098 и вернуть должно 0.09.
Подскажите, каким образом получать именно точное значение, которое возвращает мой калькулятор? :)