Скачать MetaTrader 5
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Пиши роботов на заказ. Зарабатывай с сервисом Фриланс!
wladimir
1145
wladimir 2013.06.26 14:16 

как то странно работает, при преобразовании вылетает тройка

( what a fuck? )

16:07:54 ttt EURUSD,H1: val*=MathPow(10,digits)=112342.00000  (112342)
16:07:54 ttt EURUSD,H1: val=MathCeil(val)=112343.00000  (112343)

int start()
 {
   int digits = 5;
   double val = 1.12342;
   val*=MathPow(10,digits);  Print("val*=MathPow(10,digits)=",DoubleToStr(val,5),"  (",val,")");
   val=MathCeil(val);        Print("val=MathCeil(val)=",      DoubleToStr(val,5),"  (",val,")");  
}   
Ihor Herasko
8455
Ihor Herasko 2013.06.26 14:43  
MathCeil выполняет округление к ближайшему большему числу. Число 1.12342 - не нормализовано, что означает не абсолютное равенство тому числу, которые вы ожидаете. Нормализуйте значение перед MathCeil или приведите к типу int. Тогда будет работать так, как нужно.
wladimir
1145
wladimir 2013.06.26 14:58  

не совсем правельно, число которое используется это  112342.00000

то есть формула выглядет так

val=MathCeil(112342.00000)=112343.00000

и зачем нормализовать, функция для того и заточена, чтобы лишние знаки после запятой отбрасывать


Victor Nikolaev
Модератор
14067
Victor Nikolaev 2013.06.26 15:11  
wlad:

не совсем правельно, число которое используется это  112342.00000

то есть формула выглядет так

val=MathCeil(112342.00000)=112343.00000

и зачем нормализовать, функция для того и заточена, чтобы лишние знаки после запятой отбрасывать



А Вы уверены что ваше число равно 112341.999999999 а не 112342.000000001

Результат будет разный. В одном случае 112342, в другом 112343

wladimir
1145
wladimir 2013.06.26 17:14  

не думал, что здесь возникнут проблемы с даблами когда только нули после запятой

спасибо за разъяснения обоим

o_O
Модератор
23306
o_O 2013.06.26 18:17  
wlad:

проблемы с даблами когда только нули после запятой

утопичная мысль.

такого не бывает.

/
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий