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

相关推荐
可乐鸡翅yeah_2 小时前
开发调试高频痛点解决,一站式在线加密解密与编码转换实战
json·加密解密·json在线转换
努力的lpp11 小时前
php反序列化一(大白话版)
开发语言·web安全·php·ctf·反序列化
SendTomo12 小时前
【技术交流】从0到1构建一个汉字学习平台:汉字吧(hanzi8.com)的技术架构猜想
redis·mysql·nginx·php·个人开发
小羊没烦恼!12 小时前
Hello Web API系列教程——Web API与国际化
java·服务器·前端·javascript·php
小疯仔13 小时前
轨迹在地图上“漂“了 500 米?一文吃透 WGS-84→GCJ-02 坐标转换引擎(GPX→JSON 实战源码剖析)
小程序·json·notepad++
右耳朵猫AI15 小时前
PHP周刊2026W36 | Laravel AI SDK 0.11可观测、Symfony 8.1.5、Octane并发、事件溯源
人工智能·php·laravel
Flynt16 小时前
"只输出 JSON"根本不够:LLM 结构化输出的坑,我实测了 60 次调用
llm·json
我不是程序员三三18 小时前
如何监控电脑|企业终端行为监控概念科普与落地方法论
数据库·电脑·php
程序员梅雨18 小时前
Linux & Shell 实用干货
linux·运维·服务器·后端·面试·php
果果燕20 小时前
实习笔记(六)主机按钮状态上报完整流程
开发语言·c++·php