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

相关推荐
一条破秋裤8 小时前
01_字符设备基本概念_从分类到LED控制链路
开发语言·php
唐青枫8 小时前
别只会给页面加 ROLE_ADMIN:Symfony Security 从登录到资源授权实战
php·symfony
xingpanvip9 小时前
星盘接口开发文档:推算星座接口指南
前端·php
mlidongfeng9 小时前
【学习笔记】【NV】GIN
开发语言·php
专业程序开发源10 小时前
springboot全民健身和饮食健康管理系统29158-计算机课程设计、毕业设计
java·spring boot·后端·python·django·php·课程设计
梦帮科技10 小时前
【3.0修订版】创世与节点工程:genesis.json 与 node.toml 解剖
数据结构·算法·json·去中心化·区块链·智能合约·信任链
梦帮科技10 小时前
【3.0修订版】 RNS 代币架构:ERC20 五件套扩展与六钱包分配
数据结构·后端·算法·架构·node.js·区块链·php
quweiie11 小时前
Debian 13 / 宝塔 PHP 8.3开启 FFI 完整实战教程
php·ffi
xixiaoyunya11 小时前
CPU 100% 本身不是问题,它是一个症状
开发语言·php
专业程序开发源11 小时前
springboot外卖系统94294-计算机课程设计、毕业设计
java·vue.js·spring boot·后端·spring·php·课程设计