最接近千位的轮数

时间:2016-12-28 15:40:22

标签: php rounding

我需要将数字舍入到最接近的千位数。我试过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

2 个答案:

答案 0 :(得分:11)

你可以通过将ceil()与一些乘法和除法相结合来实现这一点,如下所示:

function roundUpToNearestThousand($n)
{
    return (int) (1000 * ceil($n / 1000));
}

更一般地说:

function roundUpToNearestMultiple($n, $increment = 1000)
{
    return (int) ($increment * ceil($n / $increment));
}

Here's a demo

答案 1 :(得分:5)

我不确定你所追求的是否有特定的功能,但你可以这样做:

(int) ceil($x / 1000) * 1000;

希望这有帮助!