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

相关推荐
fiveym13 小时前
Debian 12 PXE 安装报错:Bad archive mirror 复合型故障排查全记录
运维·服务器·debian·php
STDD14 小时前
strace 和 perf:Linux 进程调试和性能分析深度指南
linux·运维·php
上海合宙LuatOS15 小时前
Air8000低功耗指南
开发语言·物联网·php·lua
ch_ziyuan15 小时前
2026新优化神马TV8.5影视点播系统保姆级搭建教程:三后台配置+反编译修改
android·ios·php
jieyucx15 小时前
Go 语言 JSON 序列化与反序列化
开发语言·golang·json·序列化
難釋懷16 小时前
Nginx高可用配置
linux·nginx·php
xwjalyf16 小时前
javascript数组 forEach,filter,some,every,map,find,reduce的用法与区别
开发语言·javascript·json·ecmascript
吾爱测试17 小时前
LZCCB_CREDIT_DEMO.json
json
D4c-lovetrain19 小时前
Jenkins自动化部署PHP项目
自动化·jenkins·php
zzqssliu19 小时前
跨境独立站多端适配开发:多语言+多货币+跨平台同步技术实战
前端·javascript·php