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

相关推荐
电商API&Tina34 分钟前
跨境电商如何接入1688官方寻源通接口?附接入流程
java·数据库·python·sql·oracle·json·php
jwn99944 分钟前
Laravel11.x新特性全解析
android·开发语言·php·laravel
CDN3602 小时前
弱网下游戏盾掉线重连失败?链路保活与超时参数优化
开发语言·游戏·php
cch89182 小时前
PHP爬虫框架大比拼
开发语言·爬虫·php
jwn9992 小时前
Laravel 8.x新特性全解析
php·laravel
Xudde.2 小时前
班级作业笔记报告0x09
笔记·学习·安全·web安全·php
m0_738120723 小时前
渗透基础知识ctfshow——Web应用安全与防护(第二章)
服务器·前端·安全·web安全·php
cch89183 小时前
PHP vs Vue.js:后端与前端的终极对比
前端·vue.js·php
运维行者_3 小时前
MSP网络管理破局者:IPAM+SPM插件终结IP冲突与安全威胁
运维·服务器·开发语言·网络·安全·web安全·php
极创信息3 小时前
不同开发语言程序如何做信创适配认证?完整流程与评价指标有哪些
java·c语言·开发语言·python·php·ruby·hibernate