PHP "round()" 和小于 1.0 的数字

PHP "round()" and numbers lower than 1.0

怎么会,当我四舍五入小数点时,有些数字会出错

echo round(0.7125, 2);

将导致:0.71

但是:

echo round(0.935625, 2);

Returns: 0.93999999

这是为什么?

我正在使用:5.5.45-MariaDB

您使用逗号 , 而不是点 . 作为小数点分隔符。使用 :

echo round(0.935625, 2); => 0.94


好的,看来这是浮点精度的问题。您要求系统显示 0.94,但系统无法将其表示为 float。所以它显示它可以显示的最接近的数字:0.93999999

echo round(0.935625, 2);   // there is comma instead of .

请删除逗号 (,) 并尝试