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

相关推荐
weixin_4173968314 小时前
星级酒店境外电视频道怎么合法接入?合规要点与核对清单
开发语言·前端·php·1024程序员节·综合布线
4SAPI14 小时前
会议智能处理大模型 API 生产选型指南:4SAPI、硅基流动与 OpenRouter 的架构权衡
人工智能·架构·自动化·gateway·php
汤姆宝库15 小时前
具身智能深拆:VLA、世界模型与数据飞轮
开发语言·人工智能·php
AI 编程助手GPT18 小时前
用 jq 清洗订单 JSON:先隔离异常,再统计已支付金额
json·jq
云老大-阿里云国际站代理商18 小时前
阿里云国际站渠道代理商:ECS 怎么对接 OSS?权限、域名、网络路径怎么配置?
网络·阿里云·php
昵称画19 小时前
图文:一张十年前的车间系统架构图
低代码·系统架构·php·企业微信·rxjava·零售
tommyjiatong19 小时前
什么是PHP漏洞
开发语言·php
qq_3400408820 小时前
idea2021版,vue项目的package.json不展示scripts的绿色箭头
javascript·vue.js·json
vipxieliang21 小时前
PHP Swoole 协程模型详解:协程与线程/进程、调度、常驻内存及与 Go goroutine 的异同
后端·php