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

 
double A=iMA(NULL,0,10,8,MODE_SMMA,PRICE_MEDIAN,0);
   double B=iMA(NULL,0,20,8,MODE_SMMA,PRICE_MEDIAN,0);
   double w=(A-B);
   double W=NormalizeDouble(w,5);
   Print(W);

В журнале кроме правильного числа с 5 знаками после запятой типа: -0.00023

нахожу и такие: 2e-005.0 и такие 9.000000000000001e-005

В чем дело?


 
Retabs:

В журнале кроме правильного числа с 5 знаками после запятой типа: -0.00023

нахожу и такие: 2e-005.0 и такие 9.000000000000001e-005

В чем дело?



Print(DoubleToString(w),_Digits);
 

Спасибо.