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

相关推荐
周小码6 小时前
10分钟搭建管理后台:laravel-admin实战入门
php·laravel
dog2506 小时前
从重尾到截断流量模型的演进
开发语言·php
Johnstons9 小时前
游戏网络测试怎么做?从延迟到丢包,一套完整的游戏弱网测试方案
网络·游戏·php
ShiXZ2139 小时前
PDF-OCR文件识别篇(七):数据入库
java·pdf·json·ocr·springboot
楷哥爱开发13 小时前
降低网络爬虫成本:基础设施优化指南
服务器·开发语言·php
bloxed13 小时前
大模型应用-筑基期【11:JSON结构化输出实战】
json·大模型应用
Venuslite7 天前
从 Unexpected token < 到 Extra data:一次讲清 JSON 解析错误的排查思路
json
疯狂SQL13 天前
手写高性能在线 JSON 工具|Web Worker 工程化打包 + 语法自动修复 + 多语言代码生成实战
typescript·json·next.js·web worker·前端性能优化·esbuild·源码实战
两个人的幸福14 天前
Windows 桌面应用自研 PHP 队列(下):完整代码与六大工程化优化
php
BingoGo16 天前
PHP 泛型之殇 泛型 RFC 提案被拒绝
后端·php