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

相关推荐
乃嘿仔8 小时前
AI 热点日报 · 2026-10-01
开发语言·人工智能·php
ai小陈8 小时前
GPU服务器租用部署实战:用systemd守护模型推理服务
运维·服务器·人工智能·ai·php·gpu算力
Zhang~Ling9 小时前
Linux网络:五种IO模型及其工作原理与应用
linux·网络·php
haerapi19 小时前
RAPTOR 树不是把文档简单分组:递归聚类的层级检索
数据挖掘·php·聚类
m0_3807438719 小时前
PHP 8.3 缓存清除不生效怎么排查
开发语言·php
m0_380743871 天前
PHP7.3和7.2字符串功能有什么不同
开发语言·php
m0_380743871 天前
PHP 8.4的新语法怎么用才规范
开发语言·php
m0_380743871 天前
PHP 8.3 接口返回数据为空怎么排查
开发语言·php
m0_380743871 天前
PHP7.0字符串在Docker怎么用
开发语言·php
LeoCrawls1 天前
Python 读取 JSON 常见报错排查,附完整处理函数
python·json·php