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()转化成字符串.

相关推荐
3824278277 小时前
python:输出JSON
前端·python·json
BrianGriffin8 小时前
asdf 安装的 PHP 上传文件大小限制
开发语言·php
就叫飞六吧10 小时前
JSONPath“隔空取物”思想,直击JSON深处的目标字段
服务器·windows·json
山风wind12 小时前
IP地址、子网掩码与网络连通性:从入门到精通
网络·tcp/ip·php
卓码软件测评12 小时前
第三方软件测评机构:【Gatling构建JSON请求体StringBody、ElFileBody和Pebble模板的使用】
测试工具·性能优化·json·测试用例
爱敲点代码的小哥13 小时前
json序列化和反序列化 和 数组转成json格式
java·前端·json
赵一舟13 小时前
windows下mqtt平台完整搭建教程
php
李慕婉学姐13 小时前
【开题答辩过程】以《基于PHP的饮食健康管理系统设计与实现》为例,不知道这个选题怎么做的,不知道这个选题怎么开题答辩的可以进来看看
开发语言·php
李慕婉学姐13 小时前
【开题答辩过程】以《基于PHP的养老中心管理系统的设计与实现》为例,不知道这个选题怎么做的,不知道这个选题怎么开题答辩的可以进来看看
开发语言·php