在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.51
比3
更接近4
,所以它总是四舍五入。
您使用的选项仅影响输入的小数部分恰好是.5
时发生的情况,因为它与两个整数的距离相等。
如果你总是想舍入,使用floor()
而不是round()
。相反,如果您想四舍五入,请使用ceil()
。许多编程语言使用相同的名称,具有相似的含义——它们来自基础数学。