26
A
回答
49
PHP允許負精度round
諸如具有:
$x = round ($x, -3); // Uses default mode of PHP_ROUND_HALF_UP.
而正精度指示在何處後四捨五入小數點,負精度提供相同功率之前的小數點。所以:
n round(1111.1111,n)
== ==================
3 1111.111
2 1111.11
1 1111.1
0 1111
-1 1110
-2 1100
-3 1000
作爲一個通用的解決方案,即使沒有它內置的語言,你只需做這樣的事情:
- 添加
500
。 - 將它除以
1000
(如果需要,截斷爲整數)。 - 乘以
1000
。
這當然假設你想要PHP_ROUND_HALF_UP
的行爲。有些人認爲銀行家四捨五入,PHP_ROUND_HALF_EVEN
,更好地減少累積誤差,但這是另一個問題的主題。
3
使用round
4
使用由其他海報round($number, -3)
提到round function。
您也可以將您的號碼除以1,000,圓到最接近的整數然後乘以1,000。另外,如果你想要四捨五入,你可以除以1,000,否定商,將它強制爲一個整數,再次否定它,然後乘以1,000。
2
從:http://us3.php.net/manual/en/function.round.php
$x = round ($x, -3);
6
rounded_number = round(original_number, -3);
3
2
剛剛從Mikel answer您的信息簡單的計算比round()快:
Test name Repeats Result Performance
calculation 10000 0.030229 sec +0.00%
round 10000 0.040981 sec -35.57%
測試源here。
2
只是一個小小的改變,可能有助於圓滿!
$x = ceil(220.20/1000) * 1000;
echo $x;
2
這裏的圍捕下一個千年的答案:
abs(round(($a - 500), -3)) . "\n";
500-999然後輪0和1000-1999輪1000等
如果您想要它在1000開始,然後只是做
abs(round(($a + 500), -3)) . "\n";
乾杯!
相關問題
- 1. 四捨五入到最近的年份
- 2. 如何四捨五入到最接近的第十位
- 3. 四捨五入到最接近
- 4. 四捨五入/關最近的5
- 5. 四捨五入到最接近的結局位數
- 6. 將數字四捨五入到最接近的十位
- 7. 的javascript - 如何四捨五入到最接近的整數
- 8. 四捨五入到最接近的五個
- 9. 四捨五入到最接近零,按位
- 10. 如何將浮點四捨五入到最接近的.001
- 11. 我如何四捨五入到最接近的0.5?
- 12. 如何使用C#四捨五入到最接近的.5#
- 13. 如何將數字四捨五入到最接近的.5?
- 14. 如何四捨五入到最近的一分錢?
- 15. 如何使比例四捨五入到#的最接近倍數?
- 16. 沒有四捨五入到五位數
- 17. 如何將(總是)時間四捨五入到最近的十位?
- 18. 四捨五入到C的1/16的最接近倍數
- 19. 將f64四捨五入到Rust中的最接近的i64
- 20. jQuery的四捨五入到最接近的整數
- 21. 四捨五入到SQL Server中的最近的500或1000
- 22. 四捨五入到最近的兩個雙打
- 23. 四捨五入到最接近的十分之一?
- 24. 四捨五入到最接近的數字紅寶石
- 25. 四捨五入甲骨文SYSDATE到最接近的小時
- 26. 時間四捨五入到最接近的第10分鐘
- 27. 四捨五入到最接近的整數
- 28. Java四捨五入到最接近的0.05
- 29. 停止jQuery四捨五入到最接近的十進制.css()
- 30. 價格四捨五入到最接近的5
取得功率爲10,http://stackoverflow.com/q/43932648/6521116 – 2017-05-12 08:40:17