2016-08-23 58 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