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

相关推荐
dog25010 小时前
圆锥曲线和二次曲线
开发语言·网络·人工智能·算法·php
千寻girling14 小时前
五一劳动节快乐 [特殊字符][特殊字符][特殊字符]
java·c++·git·python·学习·github·php
xxjj998a16 小时前
Laravel3.x:奠定现代PHP框架的重要里程碑
android·开发语言·php
xingpanvip17 小时前
星盘接口开发文档:日运语料接口指南
android·开发语言·前端·css·php·lua
xxjj998a18 小时前
Laravel 6.x 核心特性全解析
php·laravel
m0_7381207218 小时前
后渗透维权提权基础——CTF模拟红队进行权限维持(二)
前端·网络·windows·python·安全·php
NEGl DRYN18 小时前
index.php 和 php
开发语言·php
玩代码的老秦18 小时前
后端php连接SQL Server数据库报错解决方案
开发语言·数据库·php
梦梦代码精19 小时前
LikeShop 是怎么解决数据库瓶颈的?
java·数据库·低代码·php
日取其半万世不竭21 小时前
服务器自动备份方案:用 rsync + cron 实现异地增量备份
运维·服务器·php