Я хочу преобразовать значение float (например: 1.0000124668092E + 14) в Integer в php, какой лучший метод для этого в php.output должен быть «100001246680920»
Что вы подразумеваете под преобразованием?
(int) $float
или intval($float)
floor($float)
(вниз) или ceil($float)
(вверх) 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