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

相关推荐
艾醒(AiXing-w)7 小时前
LangChain 1.0 入门(三):稳定性双核心——重试机制+速率限速器参数详解与实战
开发语言·langchain·php
宸津-代码粉碎机8 小时前
FastUtil+AI多Agent实战:Java AI项目性能终极加速方案
java·服务器·开发语言·python·安全·php
练习时长两年半的RL练习生10 小时前
与AI对话后对 Actor-Critic 中 TD Target 的 a‘ 来源总结
开发语言·人工智能·php
Sagittarius_A*11 小时前
【好靶场】PHP反序列化绕过
web安全·信息安全·php·代码审计·反序列化绕过
孫治AllenSun12 小时前
【系统安全】信息脱敏存储:场景、需求与实现方案详解
安全·系统安全·php
aixingpan14 小时前
aixingpan.cn API开发文档:api_docs_errors接口指南
前端·php
爱奥尼欧14 小时前
14.输出解析器-Pydantic与JSON
人工智能·学习·langchain·json
FYKJ_201015 小时前
django学习成绩预警系统10905
java·javascript·spring boot·python·spark·django·php
BingoGo16 小时前
NativePHP v4 让 Blade 构建原生 iOS 与 Android 界面
后端·php
JaguarJack16 小时前
NativePHP v4 让 Blade 构建原生 iOS 与 Android 界面
后端·php·服务端