如何将数字四舍五入到最接近的千位?
function round($var) {
// Round it
}
最佳答案
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
更适合减少累积误差,但这是另一个问题的主题。
关于php - 如何四舍五入到最接近的千位?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5150001/