Título: [Pregunta]: Números flotantes y enteros. Publicado por: Leguim en 10 Agosto 2020, 03:07 am Hola,
estuve viendo la documentación de PHP de las funciones, is_int($x) y is_float($x)... Código De entrada se podría decir que tengo un inconveniente con estas dos funciones que tiene PHP, vendría siendo que si... Código
Ese vendría siendo el primer problema que tengo, el segundo ya vendría siendo una pregunta para poder "redondear" un número flotante... EDIT: Código
Título: Re: [Pregunta]: Números flotantes y enteros. Publicado por: EdePC en 10 Agosto 2020, 04:09 am El round() funciona tal cual, no comprendo bien tu duda: http://www.php.net/round
Con respecto a is_numeric(), is_int() y is_float(), pues primero se comprueba si es número, luego se hace la conversión implícita anteponiendo el signo + para finalmente revisar si el resultado es del tipo Entero o Flotante: Código
Citar 34.23 es float Título: Re: [Pregunta]: Números flotantes y enteros. Publicado por: Leguim en 10 Agosto 2020, 04:16 am El round() funciona tal cual, no comprendo bien tu duda: http://www.php.net/round Con respecto a is_numeric(), is_int() y is_float(), pues primero se comprueba si es número, luego se hace la conversión implícita anteponiendo el signo + para finalmente revisar si el resultado es del tipo Entero o Flotante: Código
Hola! Con el redondeo ya lo había resuelto por eso pegué ahí la solución y el "EDIT" para aclarar. Con el otro problema, ¿por qué se pone el signo + antes? (por curiosidad) Gracias! Título: Re: [Pregunta]: Números flotantes y enteros. Publicado por: @XSStringManolo en 10 Agosto 2020, 19:30 pm Hola! Es coherción de tipos implícita. Equivale a crear un objeto Número y pasarle el valor del string. Para que lo veas más claro:Con el redondeo ya lo había resuelto por eso pegué ahí la solución y el "EDIT" para aclarar. Con el otro problema, ¿por qué se pone el signo + antes? (por curiosidad) Gracias! is_float(+$number) is_float($number * 1) is_float($number - 0) Como no puedes multiplicar ni restar un string, entonces se intenta utilizar algún tipo compatible con la operación. Título: Re: [Pregunta]: Números flotantes y enteros. Publicado por: MinusFour en 10 Agosto 2020, 20:55 pm Es coherción de tipos implícita. Equivale a crear un objeto Número y pasarle el valor del string. Para que lo veas más claro: is_float(+$number) is_float($number * 1) is_float($number - 0) Como no puedes multiplicar ni restar un string, entonces se intenta utilizar algún tipo compatible con la operación. "+operando" Es conversión explicita. Cuando el simbolo se usa de manera unaria es un operador diferente que esencialmente es una conversión explicita a un número apropiado (muy parecido a javascript). Multiplicación y resta (y no negación) si hacen conversión implícita a los operandos. Título: Re: [Pregunta]: Números flotantes y enteros. Publicado por: EdePC en 11 Agosto 2020, 01:34 am Con el otro problema, ¿por qué se pone el signo + antes? (por curiosidad) - Puedes verlo en la documentación de PHP que es muy entendible, organizada y ejemplificada: https://www.php.net/manual/es/language.types.type-juggling.php (a diferencia de la horrible documentación de Python :¬¬) |