我需要将数字舍入到最接近的千位数。我试过round($x, -3)
,但输出并不是我想要的。
所需输出的示例:
999 => 1,000
1,000.0001 => 2,000
1,001 => 2,000
1,100 => 2,000
1,600 => 2,000
100,010 => 101,000
答案 0 :(得分:11)
你可以通过将ceil()
与一些乘法和除法相结合来实现这一点,如下所示:
function roundUpToNearestThousand($n)
{
return (int) (1000 * ceil($n / 1000));
}
更一般地说:
function roundUpToNearestMultiple($n, $increment = 1000)
{
return (int) ($increment * ceil($n / $increment));
}
答案 1 :(得分:5)
我不确定你所追求的是否有特定的功能,但你可以这样做:
(int) ceil($x / 1000) * 1000;
希望这有帮助!