Respuesta
floor()
redondeará un número al número entero más cercano.
EDITAR: Como se señala en la siguiente tabla, esto solo funcionará para valores positivos, lo cual es una suposición importante. Para los valores negativos, querrá usar ceil()
- pero verificar el signo del valor de entrada sería engorroso y, en su lugar, es probable que desee emplear la idea (int) cast
de Mark o TechnoP. Espero que ayude.
No estoy seguro de si esto se aplica a PHP, pero la transmisión (int) podría producir un desbordamiento ... Ah, http://stackoverflow.com/questions/300840/force-php-integer-overflow dice us: PHP max int es 2147483647. – osti
$y = 1.235251;
$x = (int)$y;
echo $x; //will echo "1"
Editar: Uso de la conversión explícita a (int) es la forma más eficiente de este yo sepa. También el lanzamiento a (int) cortará los dígitos después del "." si el número es negativo en lugar de redondeo al siguiente número más bajo negativa:
echo (int)(-3.75); //echoes "-3";
echo floor(-3.75); //echoes "-4";
el lanzamiento explícito es más rápido que floor() de hecho, sin embargo, cuando tales microoptimaciones son de su interés, entonces no debería usar PHP en primer lugar. –
No estoy de acuerdo, si uso PHP, ya tengo una gran caída de rendimiento simplemente usando un lenguaje interpretado. Todavía es mi responsabilidad como desarrollador, no introducir más demoras innecesarias. También es un problema de memoria ya que floor() es una llamada a función y por eso requerirá memoria adicional. Dependiendo de la situación, el impacto en el rendimiento puede ser incluso bastante significativo. – selfawaresoup
$y = 1.234;
list($y) = explode(".", "$y");
Bueno, si quieres ganar un concurso de ofuscación, este sería el camino a seguir ... Divertido, pero mejor no uses esto de verdad ... – selfawaresoup
Si su entrada sólo puede ser positivo, entonces los flotadores como ya se mencionó obras de piso.
floor(1.2)
Sin embargo, si su número entero también podría ser negativa, entonces baja no le puede dar lo que quiere: siempre redondea hacia abajo, incluso para los números negativos. En cambio, puedes convertir a int como otra publicación mencionada. Esto le dará el resultado correcto para los números negativos y positivos.
(int)-1.2
Incluso con una cadena, floor() funcionará porque PHPs dynamic escribiendo siempre que la cadena no contenga caracteres extraños además de los dígitos y un ".". Encender preg para esto solo conducirá a un rendimiento lento y una pérdida de memoria. – selfawaresoup
@Techpriester: OK eliminado. Pero todavía creo que debes usar int, no floor si la entrada puede ser negativa. Nadie más ha considerado las contribuciones negativas todavía, lo que creo que es una pena porque el afiche no dijo que la entrada debe ser positiva. –
@Mark: cierto. No pensé en eso.Publiqué (int) solo por razones de rendimiento :) – selfawaresoup
Puede utilizar un operador bit a bit.
Sin:
echo 49/3;
>> 16.333333333333
Con "| 0" bit a bit:
echo 49/3 | 0;
>> 16
- 1. ¿Cómo obtener los números después del punto decimal? (Java)
- 2. Eliminar automáticamente todos los archivos después del tiempo x
- 3. Truncar los números del flotador con PHP
- 4. Eliminar todos los caracteres después del signo $ usando Javascript
- 5. printf% f con solo 2 números después del punto decimal?
- 6. ayuda con Regex - necesita hasta 3 números después del punto (.)
- 7. ProgressDialog - cómo eliminar los números
- 8. ¿Cuantos números después del punto decimal puedes mostrar usando R?
- 9. ¿Regex Java para eliminar todos los números finales?
- 10. Cómo eliminar todos los productos del catálogo en Magento
- 11. Suma de todos los números
- 12. ¿Cómo evalúa PHP() los números de línea?
- 13. SQL - ¿Cómo obtengo solo los números después del decimal?
- 14. Eliminar todos los elementos después de cierto elemento
- 15. ¿Cómo eliminar el punto de corte del eclipse?
- 16. Código PHP para eliminar todo menos los números
- 17. Imprimir float PHP con 3 dígitos después del punto decimal?
- 18. sumando todos los números positivos en Excel
- 19. Cómo recortar ceros después del punto decimal
- 20. Expresión regular PHP para eliminar todos los caracteres que no sean dígitos y puntos
- 21. Eliminar todos los caracteres excepto los alfabetos y los números de una cadena de Ruby
- 22. ¿Cómo eliminar todos los archivos eliminados del repositorio?
- 23. Precisión del doble después del punto decimal
- 24. ¿Cómo eliminar todos los ceros del comienzo de la cadena?
- 25. Eliminar todos los atributos
- 26. Eliminación de caracteres después del punto decimal para un doble
- 27. PHP eliminar todos los caracteres antes de cadena específica
- 28. excluyendo todos los caracteres de una cadena, dejando los números
- 29. jquery: seleccione todos los elementos después del enésimo
- 30. KVO: ¿Puedo eliminar todos los observadores del objeto concreto
¿Puede ser el número negativo? –