2016-12-28 72 views
0

我需要将最大数量的圆整整数。我试过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

我想你可以做[这样的事情](http://stackoverflow.com/a/22225765/1790644),但相反。 –

回答

7

您可以通过一些乘法和除法,这样的结合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

4

我不知道如果有一个特定的功能为你以后,但你可以这样做:

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

希望这帮助!