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

相关推荐
2401_873479403 小时前
如何利用IP查询定位识别电商刷单?4个关键指标+工具配置方案
开发语言·tcp/ip·php
aq55356004 小时前
Laravel 6.x核心特性深度解析
php·laravel
ZC跨境爬虫6 小时前
3D 地球卫星轨道可视化平台开发 Day7(AI异步加速+卫星系列精简+AI Agent自动评论)
前端·人工智能·3d·html·json
ID_180079054736 小时前
淘宝 API 上货 / 商品搬家 业务场景实现 + JSON 返回示例
前端·javascript·json
aq55356007 小时前
PHP vs Python:30秒看懂核心区别
开发语言·python·php
FreeCultureBoy7 小时前
用 phpbrew 管理 php 环境:从安装到多版本切换
后端·php
techdashen8 小时前
Go 标准库 JSON 包迎来重大升级:encoding/json/v2 实验版来了
开发语言·golang·json
zopple8 小时前
ThinkPHP5.x与3.x核心差异解析
java·python·php
Y学院10 小时前
网络安全基础核心知识点教程
网络·web安全·php
niucloud-admin12 小时前
PHP SAAS 框架常见问题——升级框架报错
php