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

相关推荐
Web打印6 小时前
Phpask(php集成环境)之16 怎样彻底停用一个网站
开发语言·php
Web打印12 小时前
Phpask(php集成环境)之08 tp5验证码无法显示
开发语言·php
山野02014 小时前
index.php 和 php
开发语言·php
Web打印14 小时前
Phpask(php集成环境)之02配置php
开发语言·php
JQLvopkk16 小时前
JSON序列化与反序列化
json
Web打印16 小时前
Phpask(php集成环境)之01安装Apache
开发语言·php·apache
未来之窗软件服务17 小时前
服务器运维(三十八)日服务器php日志分析工具—东方仙盟
运维·服务器·php·服务器运维·仙盟创梦ide·东方仙盟
生命因何探索17 小时前
Redis—主从复制+哨兵
数据库·redis·php
g***279917 小时前
IPV6公网暴露下的OPENWRT防火墙安全设置(只允许访问局域网中指定服务器指定端口其余拒绝)
服务器·安全·php
Web打印17 小时前
Phpask(php集成环境)之04配置网站
开发语言·前端·php