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

相关推荐
aq553560014 小时前
数字资源分发的技术革命与未来趋势
java·开发语言·python·php
JSON_L15 小时前
Laravel-Admin 语言改为中文(2)
php·laravel
阿桂有点桂15 小时前
Laravel队列再docker中开启和配置
docker·php·laravel
眷蓝天16 小时前
K8S 单 Master 集群在 openEuler 24.03 上的部署指南
容器·kubernetes·php
七夜zippoe18 小时前
DolphinDB数据导入导出:CSV、JSON、Parquet
物联网·json·csv·parquet·dolphindb
AI-小柒19 小时前
磅上线!DataEyes 聚合平台正式接入 GPT-Image-2,开启多模态 AI 生成全新纪元
大数据·开发语言·数据库·人工智能·gpt·php
qq_4523962319 小时前
第七篇:《数据驱动测试:利用Excel/JSON/CSV管理测试数据》
json·excel
JSON_L19 小时前
PHP 使用天地图
php·fastadmin
a里啊里啊19 小时前
软考-软件评测师:知识点整理(四)——信息安全知识
服务器·网络·计算机网络·php·哈希算法·软考·加密算法
weixin_4307509320 小时前
部署FreeRadius+php+apache+mariaDB+daloradius 实现认证计费功能
php·apache·mariadb·daloradius·freeradius