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

相关推荐
郑州光合科技余经理16 小时前
海外外卖平台源码改造实战——多语言核心代码实现
java·开发语言·前端·后端·mysql·架构·php
娇气的红酒19 小时前
微软对PHP支持的改进,及其它一些胡言乱语
开发语言·microsoft·php
2601_9637713719 小时前
Scaling Podcast RSS Feeds and Audio Streaming on WordPress Servers
前端·windows·php
wbs_scy20 小时前
仿 muduo 高并发服务器项目:实现轻量级日志宏,方便后续网络库调试
开发语言·php
耍酷的魔镜1 天前
核心设计理念:5W2H、JSON-LD 与通用知识图谱
人工智能·json·知识图谱
自信的未来1 天前
JSON 工具|Web Worker 工程化打包 + 语法自动修复 + 多语言代码生成实战
java·前端·json
万联WANFLOW1 天前
多分支企业组网,IP 网段到底该怎么规划
开发语言·php
墨神谕1 天前
JSON-RPC 2.0
网络协议·rpc·json
WZF-Sang1 天前
网络基础——2
服务器·网络·c++·学习·网络编程·php
PixelBai1 天前
什么是 JSON 验证工具?
json