Господа, есть такая функция:
unsigned long LongFromDouble(unsigned long dw)
{
unsigned long ret = 0, l = 0;
double d = 0, d2 = 0;
d = (double)dw / 100000.0;
l = (unsigned long)d;
d2 = ((d*100000.0) - (l*100000.0));
ret = (unsigned long)d2; //Здесь 480 становится 479 :(
return ret;
}
Если в нее передать 480, то на выходе получим 479
Проц Р4 2.8, IDE VC++ 6.0 sp5
Ума не приложу, что быть может, число вроде бы не большое?
Здравствуйте, Abalak, Вы писали:
A>Если в нее передать 480, то на выходе получим 479
Смотрим, к примеру,
здесьАвтор: doronin
Дата: 29.11.02
.
ret = (unsigned long)d2 + .5; //Здесь 480 становится 480
Сорри, конечно имелось в виду
L>ret = (unsigned long)(d2 + .5); //Здесь 480 становится 480
ОписАлся