2012-10-19 119 views
1

下面是代碼:PHP。 ROUND()的工作奇怪

$val = 65.5401000000000001; 
return round($val ,2); 

我期待得到65.54,但得到65.54000000000001。 爲什麼它以這種方式工作?以及如何獲得預期的價值?

+0

@tigrang那是因爲你的配置明顯不同。 –

回答

5

PHP.ini文件中precision設置的值太高。最好將它保持在默認值15以防止這種情況發生。基本上你所看到的是浮點數不能完全處理實數的結果。