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

相关推荐
酷柚易汛9 小时前
酷柚易汛ERP 2025-12-26系统升级日志
java·前端·数据库·php
CRMEB-嘉嘉13 小时前
CRMEB私域会员电商系统pro-用户等级
php
苏琢玉14 小时前
一次受限环境下的 MySQL 数据导出与“可交付化”实践
mysql·php
#Tan-shu#API16 小时前
PHP调用手机归属地查询API的实现方法
智能手机·php·api接口·手机归属地查询·三网手机号码归属地查询
catchadmin16 小时前
PHP True Async 最近进展以及背后的争议
开发语言·php
小韩博16 小时前
小迪笔记45课之-PHP应用&SQL二次注入&堆叠执行&DNS带外&功能点&黑白盒条件
笔记·sql·网络安全·php
木风小助理17 小时前
在 Spring Boot 中实现 JSON 字段的蛇形命
spring boot·后端·json
wniuniu_18 小时前
ceph心跳机制
开发语言·ceph·php
小韩博20 小时前
PHP-MySQL 数据请求与 SQL 注入多样性(小迪 43 课笔记整理)
sql·mysql·php