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

相关推荐
catchadmin6 小时前
Laravel AI SDK 在 Laracon India 2026 首次亮相
人工智能·php·laravel
云游云记6 小时前
php 高精度数学扩展 bcmath 知识笔记
笔记·php·bcmath
金书世界7 小时前
使用PHP+html+MySQL实现用户的注册和登录(源码)
开发语言·mysql·php
darkb1rd7 小时前
三、PHP字符串处理与编码安全
android·安全·php
toooooop88 小时前
php BC MATH扩展函数巧妙进行财务金额四舍五入
开发语言·php
数研小生17 小时前
构建命令行单词记忆工具:JSON 词库与艾宾浩斯复习算法的完美结合
算法·json
云游云记1 天前
PHP 汉字转拼音扩展包:overtrue/pinyin 全面指南
php·overtrue/pinyin
编码者卢布1 天前
【Azure Stream Analytic】用 JavaScript UDF 解决 JSON 字段被转成 Record 的关键点
javascript·json·azure
有代理ip1 天前
成功请求的密码:HTTP 2 开头响应码深度解析
java·大数据·python·算法·php
电商API&Tina1 天前
电商数据采集 API 接口 全维度解析(技术 + 商业 + 合规)
java·大数据·开发语言·数据库·人工智能·json