variable strval round numerico number float entero convertir array php floating-point int

strval - ¿Cómo convertir valor flotante a entero en php?



string to float php (4)

Quiero convertir el valor flotante (Ej .: 1.0000124668092E + 14) a Integer en php, ¿cuál es el mejor método para esto en php.output debe ser "100001246680920"


¿Qué quieres decir con convertir?

  • casting *: (int) $float o intval($float)
  • truncando: floor($float) (abajo) o ceil($float) (arriba)
  • rounding: round($float) - tiene modes adicionales, vea PHP_ROUND_HALF_... constantes

* : el lanzamiento tiene alguna posibilidad, que los valores flotantes no pueden representarse en int (demasiado grande o demasiado pequeño), f.ex. en tu caso.

PHP_INT_MAX : el mayor entero admitido en esta compilación de PHP. Por lo general, int (2147483647).

Sin embargo, podría usar BCMath o las extensiones GMP para manejar estos grandes números. (Ambos están limitados, solo necesitas habilitar estas extensiones)


Siempre hay intval (): no estoy seguro de si esto es lo que buscabas ...

ejemplo: -

$floatValue = 4.5; echo intval($floatValue); // Returns 4

No redondeará el valor a un entero, sino que eliminará los dígitos decimales y finales, y devolverá el entero antes del decimal.

Aquí hay algo de documentación para esto: - http://php.net/manual/en/function.intval.php



Utilizar round()

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

También puede configurar param para el modo de precisión y redondeo, para modes

Actualización (de acuerdo a su pregunta actualizada):

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