voglio convertire il valore flottante (ad esempio: 1.0000124668092E + 14) a Integer in php, qual è il metodo migliore per questo in php.output dovrebbe essere "100.001.246.680.920"Come convertire il valore float in intero in php?
risposta
Usa round()
$float_val = 4.5;
echo round($float_val);
È inoltre possibile impostare param per la precisione e la modalità di arrotondamento, per more info
aggiornamento (secondo la vostra domanda aggiornato):
$float_val = 1.0000124668092E+14;
printf('%.0f', $float_val/1E+14); //Output Rounds Of To 1000012466809201
Utilizzare i metodi round
, floor
o ceil
per arrotondarlo al numero intero più vicino, insieme a intval()
che è limitato.
http://php.net/manual/en/function.round.php
Che cosa si intende per la conversione?
- fusione *:
(int) $float
ointval($float)
- troncando:
floor($float)
(giù) oceil($float)
(su) - arrotondamento:
round($float)
- ha aggiuntiva modes, vederePHP_ROUND_HALF_...
costanti
*: il casting ha qualche possibilità, che i valori float non possono essere rappresentati inserito in int (troppo grande o troppo piccolo), es. nel tuo caso.
PHP_INT_MAX
: Il numero intero maggiore supportato in questa build di PHP. Di solito int (2147483647).
Tuttavia, è possibile utilizzare le estensioni BCMath o GMP per gestire questi numeri grandi. (Entrambi sono limitati, è sufficiente abilitare queste estensioni)
(int) $ myfloat? –