PHP防止大浮点数舍入

  • 本文关键字:浮点数 舍入 PHP php
  • 更新时间 :
  • 英文 :


下面是一个简单的PHP代码:

$v = 999999999999.99999;
var_dump($v, strval($v), intval($v), floatval($v), sprintf('%.53f', $v));

输出是:

float(1000000000000)
string(13) "1000000000000"
int(1000000000000)
float(1000000000000)
string(67) "1000000000000.00000000000000000000000000000000000000000000000000000"

我可以在四舍五入之前从这个变量获得原始值吗?

如@iłya-bursov所述,使用BC数学库

您提供字符串格式的数字,但您可以对它们进行数学运算。

$v = '999999999999.99999';
echo bcadd($v, 0, 5);
// 999999999999.99999
echo bcadd($v, $v, 5);
// 1999999999999.99998

最新更新