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

相关推荐
╰⋛⋋⊱⋋翅膀⋌⊰⋌⋚╯15 小时前
cJSON使用
json
4311媒体网18 小时前
帝国cms调用文章内容 二开基本操作
java·开发语言·php
Evan芙21 小时前
nginx+php部署walle,发布php站点
运维·nginx·php
catchadmin1 天前
PHP 8.6 即将支持部分函数应用
php
未来之窗软件服务1 天前
幽冥大陆(四十九)PHP打造Java的Jar实践——东方仙盟筑基期
java·php·jar·仙盟创梦ide·东方仙盟·东方仙盟sdk·东方仙盟一体化
BingoGo1 天前
Laravel + Vue3 前后端分离开源后台管理框架 CatchAdmin v5.0 Beta 发布
后端·php
行思理1 天前
Linux多PHP如何切换系统默认PHP版本
linux·运维·php
正在走向自律1 天前
从Oracle到金仓KES:PL/SQL兼容性与高级JSON处理实战解析
数据库·sql·oracle·json·金仓数据库·电科金仓·兼容性挑战
Web极客码1 天前
如何通过GUI或命令行更改Ubuntu 20.04的DNS设置
linux·ubuntu·php
毕设源码-朱学姐1 天前
【开题答辩全过程】以 基于PHP的高校心理测评系统的设计与实现为例,包含答辩的问题和答案
开发语言·php