2014-11-04 66 views
0

有什麼方法可以讓任何低於.50的數字降低到包括.50在內?PHP round()0.50到更低值

例如:

round(1.49) => 1 

round(1.51) => 2 

round(1.50) => 2 

有沒有什麼辦法讓它像這樣:

round(1.49) => 1 

round(1.51) => 2 

round(1.50) => 1 
+6

是,使用'PHP_ROUND_HALF_DOWN'標誌[輪()](http://www.php.net/manual/en/function.round.php) – 2014-11-04 14:54:12

回答

10

使用PHP_ROUND_HALF_DOWN標誌

echo round(1.49, 0, PHP_ROUND_HALF_DOWN); 
echo PHP_EOL; 
echo round(1.50, 0, PHP_ROUND_HALF_DOWN); 
echo PHP_EOL; 
echo round(1.51, 0, PHP_ROUND_HALF_DOWN); 
+0

+ 1,這些新語言不是很棒!內置的每個功能。 – Bathsheba 2014-11-04 14:56:05

+1

這完全是關於[良好的文檔](http://uk1.php.net/manual/en/function.round.php#refsect1-function.round-parameters);) – 2014-11-04 14:57:59

0

減去0.5從你的電話號碼,並在結果上使用ceil

E.g. ceil(1.51 - 0.5) = 2ceil(1.50 - 0.5) = 1

這是一種顛倒了無需round函數的四捨五入方法。減法可以滿足你想要向下繞1/2路點的需求。需要額外檢查底片。