round и precision. не врубаюсь, почему работает так странно работает...

Crys

Двинутый новичок
round и precision. не врубаюсь, почему работает так странно работает...

PHP:
<?
ini_set('precision',16);
print round(74.074,2);
?>
на выходе: 74.06999999999999

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

понимаю, что в ходе округления из-за выставленного precision в 16 где-то внутри round может получиться такое число... но не могу догнать, почему оно на выходе?
 

dimagolov

Новичок
потому что именно такое число можно сохранить в виде float, а 74.07 нельзя

поставь precision 4 и получи свои 74.07
 
Сверху