2012-10-19 64 views
1

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

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

我期待得到65.54,但得到65.54000000000001。 为什么它以这种方式工作?以及如何获得预期的价值?

+0

@tigrang那是因为你的配置明显不同。 –

回答

5

PHP.ini文件中precision设置的值太高。最好将它保持在默认值15以防止这种情况发生。基本上你所看到的是浮点数不能完全处理实数的结果。