Преобразовать float в строку в php?

Подобно:

float (1.2345678901235E + 19) => строка (20) "12345678901234567890"

Это можно сделать?

(это для json_decode …)

echo number_format($float,0,'.',''); 

note: это для целых чисел, увеличение 0 для дополнительных дробных цифр

 $float = 0.123; $string = sprintf("%.3f", $float); // $string = "0.123"; 

Оказывается, json_decode по умолчанию json_decode большие целые числа как float. Эта опция может быть перезаписана в вызове функции:

 $json_array = json_decode($json_string, , , 1); 

Я основываю это только на основной документации, поэтому, пожалуйста, проверьте и сообщите мне, если это сработает.

Число с плавающей запятой с двойной точностью может содержать только около 15 значащих цифр. Лучшее, что вы можете сделать, это добавить дополнительные цифры с нулями.

Я решил эту проблему, передав аргумент JSON_BIGINT_AS_STRING для параметра options .

json_decode($json, false, 512, JSON_BIGINT_AS_STRING)

См. Пример № 5 в документации json_decode