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

相关推荐
学习3人组13 小时前
思科Packet Tracer 7.4 生成树协议(STP)配置与安全防护上机讲义
网络·安全·php
vx-程序开发13 小时前
基于机器学习的动漫可视化系统的设计与实现-计算机毕业设计源码08339
java·c++·spring boot·python·spring·django·php
imuliuliang14 小时前
Laravel6.x核心特性全解析
android·php·laravel
谢白羽17 小时前
agent memory论文解析一:解析项目(a-mem)
开发语言·php·论文·agent·a-mem·实际项目
颂love18 小时前
JWT 认证系统全流程细粒度拆解
json
轻刀快马21 小时前
讲透分布式系统的演进史与核心架构
开发语言·架构·php
zb2006412021 小时前
Laravel5.x核心特性全解析
android·spring boot·php·laravel
zhangfeng113321 小时前
ThinkPHP5 事件系统的标准最佳实践 事件系统的完整设计逻辑tags.php tags.php(事件地图)
android·开发语言·php
m0_7381207221 小时前
渗透测试基础知识——从零认识JWT(JSON Web Token)身份令牌
服务器·前端·安全·web安全·网络安全·json
byzh_rc21 小时前
[DL_Net从入门到入土] 生成对抗网络 GAN
人工智能·生成对抗网络·php