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

相关推荐
JienDa1 小时前
JienDa聊PHP:小红书仿站实战深度架构全解析
开发语言·架构·php
e***74957 小时前
Modbus报文详解
服务器·开发语言·php
6***37947 小时前
PHP在电商中的BigCommerce
开发语言·php
长安即是故里7 小时前
个人相册部署
php·相册·typecho
JienDa7 小时前
JienDa聊PHP:电商实战中主流PHP框架的协同策略与架构优化
开发语言·架构·php
JienDa7 小时前
JienDa聊PHP:起卦、卜卦平台实战中PHP框架的协同架构方略
开发语言·架构·php
q***61418 小时前
详解 为什么 tcp 会出现 粘包 拆包 问题
网络·tcp/ip·php
m0_689490648 小时前
多商户平台客服系统
php·多商户平台客服系统
v***44678 小时前
PLC(电力载波通信)网络机制介绍
开发语言·网络·php
JienDa8 小时前
JienDa聊PHP:盲盒电商实战中主流PHP框架的协同架构方略
开发语言·架构·php