неправильно считает

alexey84

phplancer
неправильно считает

столкнулся с такой штукой
<?php echo 10.29-(1.57+8.72);?>
выводит -1.7763568394003E-15, а должен быть 0
пхп 4 версия, в чем беда?
 

Dovg

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

alexey84

phplancer
прикольно, вспомнил, только это тема из универа, а чего делать когда идет рассчет лизинга и там нужна точность в рассчетах, как быть?
 

Dovg

Продвинутый новичок
округлять до сотых перед выводом пользователю?
 

Popoff

popoff.donetsk.ua
alexey84
есть ещё другие способы. ;)
я щас навскидку могу парочку дополнительных придумать :)
 

partizan

Новичок
Если нужна абсолютная точность - надо работать только с рациональными числами (дробями) - и все операции выполнять как операции с дробями
Если конечно не фигурируют в расчетах числа pi, e и т.д
 
Сверху