PHP数小于10位小数

时间:2016-08-09 19:00:51

标签: php floating-accuracy

我遇到这种情况:

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

它返回了这个:

{"value":8.8765434567877}

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

{"value":8.876543456787654}

请注意,我无法做到这一点:

{"value":"8.876543456787654"}

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

1 个答案:

答案 0 :(得分:5)

在运行时设置更高的精度

ini_set("precision", "16");

同时使用(float)代替(double)