有什么方法可以四舍五入到任何低于.50(包括.50)的数字的下限吗?
例如:
round(1.49) => 1
round(1.51) => 2
round(1.50) => 2
有什么方法可以让它变成这样吗:
round(1.49) => 1
round(1.51) => 2
round(1.50) => 1
使用PHP_ROUND_HALF_DOWN
标志
echo round(1.49, 0, PHP_ROUND_HALF_DOWN);
echo PHP_EOL;
echo round(1.50, 0, PHP_ROUND_HALF_DOWN);
echo PHP_EOL;
echo round(1.51, 0, PHP_ROUND_HALF_DOWN);
从数字中减去0.5,并对结果使用ceil
。
例如ceil(1.51 - 0.5) = 2
、ceil(1.50 - 0.5) = 1
这是对在没有round
函数的情况下进行舍入的惯用方法的曲解。减法可以满足您向下取整1/2路点的需要。底片需要额外检查。