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

相关推荐
djk88888 小时前
.net6.0(.net Core)读取 appsettings.json 配置文件
json·.net·.netcore
一条晒干的咸魚14 小时前
【Web前端】创建我的第一个 Web 表单
服务器·前端·javascript·json·对象·表单
hopetomorrow15 小时前
学习路之PHP--使用GROUP BY 发生错误 SELECT list is not in GROUP BY clause .......... 解决
开发语言·学习·php
网络安全-杰克15 小时前
网络安全概论
网络·web安全·php
不是二师兄的八戒15 小时前
本地 PHP 和 Java 开发环境 Docker 化与配置开机自启
java·docker·php
黑客Ela16 小时前
网络安全中常用浏览器插件、拓展
网络·安全·web安全·网络安全·php
蝶开三月18 小时前
php:使用socket函数创建WebSocket服务
网络·websocket·网络协议·php·socket
Ai 编码助手19 小时前
使用php和Xunsearch提升音乐网站的歌曲搜索效果
开发语言·php
wkj00121 小时前
php操作redis
开发语言·redis·php
黑客Ash1 天前
【D01】网络安全概论
网络·安全·web安全·php