var_dump(json_decode('{"price":5.00}', true));
結果:array(1) { ["price"]=> float(5)//但期望的是5.00,能保留小數點}
不是json_decode的問題,是輸出函數本身就這樣,
var_dump(5.00);//输出float(5) echo 5.00;//输出5 print 5.00;//输出5
json_encode透過設定可選項來保留小數點
echo json_encode([5.00], JSON_PRESERVE_ZERO_FRACTION);//输出[5.0],但这也不是期望的[5.00] echo sprintf('%.2f', 5);//保留两位小数
雷雷
var_dump是帶有類型的列印。
https://www.bytelang.com/o/s/...
這個簡單,把5.00變成string類型就好了
這個跟jeon_encode沒有關係。應該在輸出的時候進行格式化。
echo number_format($price, 2, '.', '');
或
echo sprintf('%.2f', $price);
var_dump(json_decode('{"price":"5.00"}', true));
不是json_decode的問題,是輸出函數本身就這樣,
json_encode透過設定可選項來保留小數點
雷雷
var_dump是帶有類型的列印。
https://www.bytelang.com/o/s/...
這個簡單,把5.00變成string類型就好了
這個跟jeon_encode沒有關係。應該在輸出的時候進行格式化。
或
var_dump(json_decode('{"price":"5.00"}', true));