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

相关推荐
小ᶻᶻᶻᶻ1 小时前
从零开始搭建 PHP
开发语言·php
南叔先生2 小时前
Linux 性能优化 copy
网络·数据库·php
小故渊12 小时前
JSON对象
运维·服务器·json
编织幻境的妖13 小时前
运维面试题1
开发语言·php
SelectDB技术团队16 小时前
查询性能提升 10 倍、存储空间节省 65%,Apache Doris 半结构化数据分析方案及典型场景
数据结构·数据仓库·elasticsearch·log4j·json
专家大圣18 小时前
电脑信息安全:挑战与应对策略
服务器·电脑·php
造夢先森18 小时前
‌内网穿透技术‌总结
开发语言·智能路由器·php
白总Server20 小时前
Go语言基本语法
linux·开发语言·数据库·后端·golang·github·php
一念之间 一心向阳20 小时前
PHP 使用Spreadsheet写excel缓存导致内存不断增加
php·excel
泥菩萨^_^21 小时前
【PHP代码审计】PHP基础知识
开发语言·php