PHP浮动不会准确保存到变量或回显

时间:2018-05-10 14:30:32

标签: php floating-point

最近,我的本地环境已经开始回显/保存带有两个小数点的浮点数,最后有一串额外的数字,导致数字不准确。这种行为是最近的;它以前表现得很正常。我想不出任何特别改变的事情。

对于一个真正简单的例子:

echo 18.99;

输出:

18.989999999999998

当我json_encode一个带有值的数组时,问题就会加剧:

[18.989999999999998436805981327779591083526611328125]

知道可能导致此问题的原因,以及我如何解决这个问题? PHP 7.1,MacOS High Sierra 10.13.2,如果有帮助的话。另外,我使用Laravel 5.5作为我的框架。

根据我已经完成的一些研究,我尝试将precision的php_ini设置分别更改为121417。没有变化。

编辑:我已经看到有关PHP和其他语言中浮点数准确性的其他问题,但正如我所说,这种行为是最近的,所以我不相信这只是一个固有的缺陷。语言。

0 个答案:

没有答案