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

相关推荐
CRMEB1 小时前
电商项目中订单流程可以使用哪些设计模式?如何开发?
java·设计模式·gitee·开源·php·crmeb
代龙涛1 小时前
wordpress块主题之创建主题
php·wordpress
好运yoo2 小时前
在package.json中scripts这个配置的命令是什么意思
前端·webpack·json·vite·wepack
2401_873587822 小时前
Linux——高级IO
服务器·数据库·php
蜡台3 小时前
VSCode 配置PHP开发环境
ide·vscode·php·debug·launch.json
BingoGo3 小时前
在 PHP 中写真正的异步代码 TrueAsync 0.6.0 已支持数据库链接池
后端·php
YMWM_3 小时前
conda特定环境打包
开发语言·conda·php
JaguarJack3 小时前
在 PHP 中写真正的异步代码 TrueAsync 0.6.0 已支持数据库链接池
后端·php·服务端
jgyzl3 小时前
2026.3.13 Redis的网络模型
网络·redis·php
Never_Satisfied12 小时前
在JavaScript / Node.js中,package.json文件中的依赖项自动选择最新版安装
javascript·node.js·json