Intereting Posts
Геокодирование 5000 адресов в php-скрипте Проверьте, существует ли значение в mysql Unset rows (основано на имени строки) csv через php Построить json для отправки на php с помощью цикла for (возможно) Есть ли способ для glob () только файлов? Почему соединение с ASE не выполняется, когда требуется шифрование пароля? Как получить дату с номера недели и числа дней и года? Программно добавьте Bundle Products в Magento, используя SKU / ID простых элементов В любом случае, чтобы определить, закрывает ли пользователь браузер с помощью php? Лучший способ проверить существующего пользователя в базе данных mySQL? Один элемент викторины на страницу (программа тестирования php / mysql) imagerotate () не работает PHP + Guzzle, Отправка ключа авторизации в заголовке Как построить график реального времени (гистограмма) с использованием данных, полученных в текстовом файле Вы указали неверную ошибку подключения к базе данных.

Как преобразовать значение float в integer в php?

Я хочу преобразовать значение float (например: 1.0000124668092E + 14) в Integer в php, какой лучший метод для этого в php.output должен быть «100001246680920»

Что вы подразумеваете под преобразованием?

  • casting *: (int) $float или intval($float)
  • усечение: floor($float) (вниз) или ceil($float) (вверх)
  • rounding: round($float) – имеет дополнительные режимы , см. PHP_ROUND_HALF_... константы

* : у кастинга есть шанс, что значения float не могут быть представлены в int (слишком большие или слишком маленькие), f.ex. в твоем случае.

PHP_INT_MAX : наибольшее целое число, поддерживаемое в этой сборке PHP. Обычно int (2147483647).

Но вы можете использовать BCMath или расширения GMP для обработки этих больших чисел. (Оба ограничены, вам нужно только включить эти расширения)

Используйте round()

 $float_val = 4.5; echo round($float_val); 

Вы также можете установить параметр для режима точности и округления, для получения дополнительной информации

Обновление (согласно вашему обновленному вопросу):

 $float_val = 1.0000124668092E+14; printf('%.0f', $float_val / 1E+14); //Output Rounds Of To 1000012466809201 

Используйте round , floor или ceil методы для округления до ближайшего целого числа

http://php.net/manual/en/function.round.php

http://php.net/manual/en/function.ceil.php

http://php.net/manual/en/function.floor.php