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

相关推荐
China_Yanhy1 小时前
入职 Web3 运维日记 · 第 12 日:拥堵的跨链桥 —— 消失的 Gas 与“守护者”脚本
运维·web3·php
BingoGo2 小时前
PHP 的问题不在语言本身,而在我们怎么写它
后端·php
行走的陀螺仪2 小时前
GitLab + GitLab Runner 本地 Docker 部署实战文档
ci/cd·docker·gitlab·php·gitlab-runner
Re.不晚2 小时前
Redis事务
数据库·redis·php
BingoGo2 小时前
如何重构遗留 PHP 代码 不至于崩溃
后端·php
JaguarJack2 小时前
PHP 的问题不在语言本身,而在我们怎么写它
后端·php·服务端
ZHOUPUYU6 小时前
PHP 8.3网关优化:我用JIT将QPS提升300%的真实踩坑录
开发语言·php
Tony Bai14 小时前
告别 Flaky Tests:Go 官方拟引入 testing/nettest,重塑内存网络测试标准
开发语言·网络·后端·golang·php
一个天蝎座 白勺 程序猿15 小时前
破译JSON密码:KingbaseES全场景JSON数据处理实战指南
数据库·sql·json·kingbasees·金仓数据库
叫我龙翔15 小时前
【计网】从零开始掌握序列化 --- JSON实现协议 + 设计 传输\会话\应用 三层结构
服务器·网络·c++·json