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

相关推荐
Shi_haoliu1 天前
SolidTime 在 Rocky Linux 9.5 上的完整部署流程
linux·运维·nginx·postgresql·vue·php·laravel
成工小白1 天前
网络复习(1)
服务器·网络·php
恃宠而骄的佩奇1 天前
蚁剑 php一句话木马简单免杀(编码)绕过360,火绒
开发语言·web安全·php·免杀·一句话木马·火绒安全
m0_738120721 天前
渗透测试——y0usef靶机渗透提权详细过程(插件伪造请求头)
服务器·网络·web安全·ssh·php
SY_FC1 天前
unaipp通过JSON.stringify传值页面JSON.parse转换报错
json
qq_406176142 天前
JS防抖与节流:从原理到实战的性能优化方案
服务器·数据库·php
独行soc2 天前
2026年渗透测试面试题总结-1(题目+回答)
android·开发语言·网络·安全·web安全·渗透测试·php
IT瑞先生2 天前
php unicode与中文互转
android·开发语言·php
这儿有一堆花2 天前
服务器安全:防火墙深度配置指南
服务器·安全·php
这儿有一堆花2 天前
Linux 内网环境构建与配置深度解析
linux·数据库·php