php - 如何四舍五入到最接近的千位?

标签 php

如何将数字四舍五入到最接近的千位?

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/

相关文章:

php - 尝试通过 curl 发布后从页面中获取数据

php - Uncaught Error : Call to a member function generate_cart_id() on null

php - 违规 : 1452 Cannot add or update a child row: a foreign key constraint fails

php - 连接到 sandbox.2checkout.com :443 时出现未知 SSL 协议(protocol)错误

php - 在/var/www/html 中编辑

php - 如何检查 PHP 中的数组性?

php - 从 Facebook 获取用户更新的实时通知

PHP电话号码解析器

javascript - PHP 图像上传后更新 HTML 中图像标签的 SRC

php - if isset语句与javascript?