PHP - 8 位小数不起作用



下面是一段非常简单的代码。

$a = 2000000.00000000;
$b = 0.00000001;
echo $a-$b; //output 2000000
I was expecting 1999999.99999999. 

有人能解释一下如何使它工作吗?非常感谢。

您可以使用precision ini设置将浮点数格式化为字符串时使用的精度,默认值为14:

ini_set('precision', 16);
echo $a - $b; // 1999999.99999999

另外,请阅读这篇文章以获得关于该主题的更一般的细分。

最新更新