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

相关推荐
学习中的DGR7 小时前
[GXYCTF2019]Ping Ping Ping 1和[SUCTF 2019]EasySQL 1新手解题过程
sql·安全·web安全·网络安全·php
yangSnowy7 小时前
PHP变量回收机制
开发语言·php
悠悠~飘7 小时前
22.php基础-类2
php
CRMEB系统商城8 小时前
CRMEB多商户系统(PHP)- 移动端二开之基本容器组件使用
运维·开发语言·小程序·php
2501_944521599 小时前
Flutter for OpenHarmony 微动漫App实战:图片加载实现
android·开发语言·前端·javascript·flutter·php
运筹vivo@10 小时前
攻防世界: mfw
前端·web安全·php
Web极客码15 小时前
为什么建议使用WordPress WP Mail SMTP来替代PHP Mail
开发语言·php·wordpress
lanicc15 小时前
JsonSurfer:高性能、流式 JSON 解析利器
json
hzb6666616 小时前
xd_day47文件上传-day55xss
javascript·学习·安全·web安全·php
云云只是个程序马喽18 小时前
海外短剧app开发源码h5,支持多语言多支付 付费模式广告模式
php