точность с плавающей точкой — число PHP больше 10 знаков после запятой

У меня такая ситуация:

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

Это возвращает это:

{"value":8.8765434567877}

И не это, что является желательным

{"value":8.876543456787654}

Обратите внимание, что я не могу иметь это:

{"value":"8.876543456787654"}

Как я могу изменить эту точность и отменить округление?

4

Решение

Установите точность выше во время выполнения

ini_set("precision", "16");

Также используйте (float) вместо (double)

5

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]