PHP 5.5.12 ROUND return 始终向上

PHP 5.5.12 ROUND return always up

在 PHP 5.5.12 的 wamp 服务器中测试 这个return一直在

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()。许多编程语言使用这些具有相似含义的相同名称——它们来自基础数学。