2016-08-23 91 views
0

我想要使用PHP舍入数字。PHP向下舍入

我已经设法做到这一点,如果值有一个小数位,使用下面的这个方法。

$val = floor($val * 2)/2; 
echo 'hello'. $val; 

如果我试图本轮下跌不会有小数位的值,上面的代码是行不通的。

我想要舍弃的值。

32456 => 32000 

4567 => 4000 

38999 => 38000 
+0

如果数字没有分数,'$ val * 2'也是一个整数,所以'floor()'不会改变它。 – Barmar

+0

指[round thousand hundrard etc.](https://stackoverflow.com/q/43932648/6521116) –

回答

5

有几种方法可以做到这一点。最常见的方式(四舍五入到最接近1000)将是这样的:

function roundDown1000($n) 
{ 
    return floor($n/1000) * 1000; 
} 

更普遍:

function roundDown($n, $increment) 
{ 
    return floor($n/$increment) * $increment; 
} 

如果你愿意,你也可以做$n - ($n % 1000),但这将得到奇怪的结果为$n < 0