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

相关推荐
last demo5 小时前
MariaDB 数据库管理
linux·运维·服务器·数据库·php·mariadb
q***3755 小时前
QoS质量配置
开发语言·智能路由器·php
会篮球的程序猿10 小时前
html+canvas+thikphp 可视化工具拖拽、编辑生成JSON,渲染成海报图片 完全自定义,支持选择,文字背景色
前端·html·json
倚肆10 小时前
Hutool-json 库完整指南
java·json
JaguarJack11 小时前
Laravel 乐观锁:高并发场景下的性能优化利器
后端·php·laravel
q***23921 天前
MySQL JSON数据类型全解析(JSON datatype and functions)
android·mysql·json
q***92511 天前
PHP操作redis
开发语言·redis·php
joker丶牧羊人1 天前
搭建Hyperf本地开发环境之Docker容器开发
后端·docker·php
CHINAHEAO1 天前
Bagisto怎么配置阿里千问,自动生成描述文案
php·bagisto
0***K8921 天前
PHP框架比较
开发语言·php