PHP 对 float 类型使用 JSON_encode () 精度缺失
简介
在项目中遇到过对 float
类型的数字进行 json_encode()
出现精度缺失的问题。
代码
$info = 26.54;
$res = json_encode($info);
var_dump($res);
运行结果
string(18) "26.539999999999999"
原因
-
查看 PHP 的
php.ini
文件可通过
php --ini
查看引入的php.ini
文件位置是在哪里 -
更改配置
按照网上的说法,改为 17 以下的数字就可以解决
serialize_precision = 16
-
再次运行
string(5) "26.54"
本作品采用《CC 协议》,转载必须注明作者和本文链接
推荐文章: