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

相关推荐
代龙涛14 小时前
WordPress Query 查询机制详解(WP_Query)
开发语言·后端·php·wordpress
Frag0ut18 小时前
Notepad++ 零基础入门:从记事本到代码编辑器的平滑过渡(2026最新版)
python·编辑器·html·json·notepad++·markdown·记事本
达达表哥20 小时前
VIC博客全新版本 底层优化 包含新主题新插件
php·腾讯云·开源软件
vipxieliang20 小时前
PHP 性能优化实战:一次线上内存泄漏与连接数打满的排查复盘
php
vipxieliang20 小时前
使用 PHP 构建命令行工具:从 $argv 到 Symfony Console 与 Cron 集成
php
vipxieliang20 小时前
ThinkPHP 8.0 路由完全重写:新写法与迁移适配指南
php·thinkphp
AlanAshley1 天前
无 SIM 卡也能打 110?手机紧急呼叫能力的软硬件技术探究
开发语言·智能手机·php
xiaoye-duck1 天前
《C++ 工具库实战》C++ 解析利器 JsonCpp:从基础使用到封装简易 JSON 工具
c++·json·第三方库
javachen__1 天前
试试Jackson:把JSON拉平成普通属性
json
Escalating_xu1 天前
【Linux 网络编程】DNS 与 ICMP:从域名解析到 ping、traceroute,把“网络通不通”问清楚
linux·网络·php