有什么方法可以用低于.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
答案 0 :(得分:11)
使用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);
答案 1 :(得分:0)
从您的号码中减去0.5,并在结果上使用ceil
。
E.g。 ceil(1.51 - 0.5) = 2
,ceil(1.50 - 0.5) = 1
这是在没有round
函数的情况下进行舍入的惯用方法的变态。减法适合您想要向下绕1/2路点。否定所需的额外检查。