PHP小数点后10位以上的数字

PHP number more than 10 decimal places

我有这种情况:

$a = (double)"8.876543456787654";
echo json_encode(["value" => $a]);

它返回这个:

{"value":8.8765434567877}

而不是这个,这是可取的:

{"value":8.876543456787654}

请注意,我不能拥有这个:

{"value":"8.876543456787654"}

如何更改此精度并取消舍入?

在运行时设置更高的精度

ini_set("precision", "16");

也使用 (float) 而不是 (double)