我遇到这种情况:
$a = (double)"8.876543456787654";
echo json_encode(["value" => $a]);
它返回了这个:
{"value":8.8765434567877}
而不是这个,这是可取的:
{"value":8.876543456787654}
请注意,我无法做到这一点:
{"value":"8.876543456787654"}
如何更改此精度并取消舍入?
答案 0 :(得分:5)
在运行时设置更高的精度
ini_set("precision", "16");
同时使用(float)
代替(double)