当前位置: 首页 > 后端技术 > PHP

PHP7.4json_encode导致float数据精度异常

时间:2023-03-29 20:55:35 PHP

解决办法:修改php.ini中serialize_precision的值为-1;然后重启开发环境serialize_precision=-1原因:用laravel开发接口时,发现数据库中的数据是3.9,但是当“returnsuccess($price);”返回“3.8999999999999999”;$price=3.9;returnsuccess($price);//输出为3.8999999999999999,存在精度问题,但是使用laravel自带的dd方法后发现$price=3.9;dd($price);//返回时可以判断3.9的输出是json_encode有问题,所以下面的代码验证$price=3.9;echojson_encode($price);//输出3.8999999999999999所以找了半天,我找到了解决办法。我本地的serialize_precision值为17,需要改成-1;然后重启开发环境,再次输入以下代码$price=3.9;echojson_encode($price);//输出3.9感谢以下文章作者的分享内容,解决了我的问题。https://blog.csdn.net/moliyir...