У меня такая ситуация:
$a = (double)"8.876543456787654";
echo json_encode(["value" => $a]);
Это возвращает это:
{"value":8.8765434567877}
И не это, что является желательным
{"value":8.876543456787654}
Обратите внимание, что я не могу иметь это:
{"value":"8.876543456787654"}
Как я могу изменить эту точность и отменить округление?
Установите точность выше во время выполнения
ini_set("precision", "16");
Также используйте (float)
вместо (double)
Других решений пока нет …