PHP: чтобы вместо числа 3.8129624339948E+18 отображалась строка 3812962433994769000

Asar
На сайте с 23.08.2004
Offline
320
858

Собственно, сабж.

Парсится файлик в CSV. В нем есть большие числа. По умолчанию они переводятся в вещественные, а мне это не нужно. Если же, например, попробовать долбануть number_format'ом это дело, то теряется точность.

Итак, в файле было 3812962433994769000, мне нужно это же "3812962433994769000" в строке, а получается 3.8129624339948E+18.

Вроде, вопрос-то совсем уж дурацкий, но ответа в интернетиках не нахожу.

Подскажите, граждане!

LEOnidUKG
На сайте с 25.11.2006
Offline
1723
#1

В смысле это получается при просмотре через excel?

✅ Мой Телеграм канал по SEO, оптимизации сайтов и серверов: https://t.me/leonidukgLIVE ✅ Качественное и рабочее размещение SEO статей СНГ и Бурж: https://getmanylinks.ru/
Asar
На сайте с 23.08.2004
Offline
320
#2

Нет, у меня это при выводе в РНР лезло (echo $perem).

Отбой тревоги, я протупил, преобразование было внутри скрипта ненужное, достаточно было его удалить.

bay_ebook
На сайте с 28.05.2010
Offline
111
#3
Asar:
Собственно, сабж.
Парсится файлик в CSV. В нем есть большие числа. По умолчанию они переводятся в вещественные, а мне это не нужно. Если же, например, попробовать долбануть number_format'ом это дело, то теряется точность.
Итак, в файле было 3812962433994769000, мне нужно это же "3812962433994769000" в строке, а получается 3.8129624339948E+18.
Вроде, вопрос-то совсем уж дурацкий, но ответа в интернетиках не нахожу.
Подскажите, граждане!

А погуглить типа "php float to string"?

http://php.net/manual/ru/function.strval.php

ну еще как вариант

$float = 0.123;
$string = sprintf("%.3f", $float);
Нужен прогер на php+mysql+понимание чужего кода? (/ru/forum/540660) Вам сюда PHP-шаман (http://php-shaman.pw/)
S
На сайте с 13.10.2014
Offline
171
#4

$a = 3.8E+18;

print (int) $a;

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий