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

相关推荐
代码AI弗森37 分钟前
配置文件战争:TOML/YAML/JSON 为何成为不同框架的“专属标配”?
json
审判长烧鸡2 小时前
【GO VS PHP】之 指针/引用传递
go·php·指针·引用传递
xingpanvip3 小时前
星盘接口开发文档:星相日历接口指南
android·开发语言·前端·css·php·lua
前端技术5 小时前
03_网络层与IP编址:理解网络寻址的核心逻辑
服务器·网络·php
niucloud-admin6 小时前
PHP V6 单商户常见问题——配置了伪静态仍提示接口请求错误,请检查VIE_APP_BASE_URL参数配置或者伪静态配置
php
Ether IC Verifier7 小时前
OSI网络七层协议详细介绍
服务器·网络·网络协议·计算机网络·php·dpu
这儿有一堆花7 小时前
住宅代理(Residential Proxy)技术指南
开发语言·数据库·php
niucloud-admin8 小时前
PHP V6 单商户常见问题——升级提示mkdir()处理方案
php
计算机安禾10 小时前
【Linux从入门到精通】第37篇:NFS网络文件系统——无状态的数据共享
linux·网络·php