PHP7 json_encode() 浮点小数溢出错误

原因已找到, 该现象只出现在PHP 7.1+版本上

建议使用默认值 serialize_precision = -1 即可

事情是这样的,项目里发现一个奇怪的现象,json_encode一个带浮点价格的数据, 出现溢出, 比如:

bash 复制代码
echo json_encode(277.2);
// 输出结果为: 277.199999999999989

这明显是不能接受的, 数据虽然很接近, 但毕竟已经变更了

下意识地认为这是php的一个bug, 不能准确地json序列化一个浮点小数

这个问题google了半天竟然也无果, 因此json_encode数据里有小数的时候, 记得先number_format()转化成字符串.

相关推荐
桌面运维家10 小时前
VLAN配置进阶:抑制广播风暴,提升网络效率
开发语言·网络·php
luanma15098018 小时前
Laravel 4.x:现代PHP框架的奠基之作
开发语言·php·laravel
Sgf22718 小时前
第15章 网络编程
开发语言·网络·php
菜鸟程序员专写BUG19 小时前
SpringBoot 接口返回异常全集|JSON解析失败/响应乱码/状态码错误完美解决
spring boot·后端·json
一只会跑会跳会发疯的猴子19 小时前
php操作ssl,亲测可用
android·php·ssl
张涛酱10745621 小时前
Jackson 严格解析:拒绝"温柔"的 JSON
spring boot·json
luanma15098021 小时前
Laravel 5.x核心特性与升级指南
php·laravel
luanma15098021 小时前
Laravel 2.X:现代框架的基石
php·laravel
nilm6121 小时前
作为前端请使用vue2,elementUI框架 根据后端返回的json 生成表格.
前端·elementui·json
luanma1509801 天前
Laravel 6.X重磅升级:7大特性深度解析
php·laravel