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

相关推荐
Json_181790144804 小时前
An In-depth Look into the 1688 Product Details Data API Interface
大数据·json
残月只会敲键盘5 小时前
面相小白的php反序列化漏洞原理剖析
开发语言·php
哟哟耶耶6 小时前
js-将JavaScript对象或值转换为JSON字符串 JSON.stringify(this.SelectDataListCourse)
前端·javascript·json
ac-er88886 小时前
PHP弱类型安全问题
开发语言·安全·php
ac-er88886 小时前
PHP网络爬虫常见的反爬策略
开发语言·爬虫·php
yanwushu6 小时前
Xserver v1.4.2发布,支持自动重载 nginx 配置
mysql·nginx·php·个人开发·composer
事业运财运爆棚6 小时前
php 如何将数组转成对象数组
php
天下皆白_唯我独黑7 小时前
php 使用qrcode制作二维码图片
开发语言·php
努力的家伙是不讨厌的9 小时前
解析json导出csv或者直接入库
开发语言·python·json
Mephisto.java14 小时前
【大数据学习 | kafka高级部分】kafka的优化参数整理
大数据·sql·oracle·kafka·json·database