簡介
在專案中遇到過對 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"