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

相关推荐
lzhdim9 小时前
SQL 入门 17:MySQL 数据类型:从字符串到 JSON 的全面解析
数据库·sql·mysql·json
无风听海10 小时前
JSON Web Token(JWT)完全指南
java·前端·json
被子你放开我11 小时前
CRMEB PHP多商户升级4.0太麻烦了
开发语言·php
山河已无恙11 小时前
BPF-eBPF 开发路线二:libbpf、CO-RE 与 libbpf-bootstrap认知
javascript·bootstrap·php
_童年的回忆_15 小时前
【php】在linux下PHP安装amqp扩展
linux·开发语言·php
郑洁文16 小时前
基于Python的网络入侵检测系统
网络·python·php
zzqssliu16 小时前
taocarts 跨境独立站 SEO 优化实践(多语言 + 反向海淘场景)
java·javascript·php
夜月yeyue17 小时前
KCP 与 UDP 可靠传输
linux·网络·单片机·网络协议·udp·php
Kiling_070417 小时前
Java IO流:字节流实战与性能优化
java·开发语言·php
酉鬼女又兒19 小时前
零基础入门计算机网络:从基本概念到核心交换技术
开发语言·计算机网络·考研·职场和发展·php