PHP 5.5.12 ROUND返回总是向上


PHP 5.5.12 ROUND return always up

在PHP 5.5.12的wamp服务器上测试这个返回总是up

echo round(3.51,0,PHP_ROUND_HALF_DOWN);// 4
echo round(3.51,0,PHP_ROUND_HALF_UP);// 4 

为什么?

round()舍入到最接近的整数。3.513更接近4,所以它总是四舍五入。

您使用的选项仅影响输入的小数部分恰好是.5时发生的情况,因为它与两个整数的距离相等。

如果你总是想舍入,使用floor()而不是round()。相反,如果您想四舍五入,请使用ceil()。许多编程语言使用相同的名称,具有相似的含义——它们来自基础数学。