elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Los 10 CVE más críticos (peligrosos) de 2020


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web (Moderador: #!drvy)
| | |-+  [Pregunta]: ¿Cómo saber si es un ENTERO o FLOTANTE en PHP?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [Pregunta]: ¿Cómo saber si es un ENTERO o FLOTANTE en PHP?  (Leído 2,178 veces)
Leguim


Desconectado Desconectado

Mensajes: 719



Ver Perfil
[Pregunta]: ¿Cómo saber si es un ENTERO o FLOTANTE en PHP?
« en: 12 Mayo 2021, 22:39 pm »

Es algo trivial pero estoy teniendo problemas, no encuentro una función para saber si es ENTERO o FLOTANTE un número.
Estuve viendo pero no la encuentro, ya sé que existe is_int e is_float pero quiero que sea como is_numeric.

Quiero decir, is_numeric si le das como valor '3500' (cadena pero con numero dentro) devolverá true pero si pongo is_float('3500.78') esto me va a dar false porque no interpreta el numero que está en la cadena. Lo mismo pasa si fuera is_int('3500').

Pasa que como ya sabrán todo los datos que envía un formulario los devuelve en cadena.
¿No hay una función para eso?

EDIT:
Se me ocurrió algo "cutre" por así decirlo, y es que podría preguntar si dicha cadena tiene punto y si tiene punto quiere decir que en principio es un decimal entonces uso floatval('x');

IS_NUMERIC(x)
      TIENE_PUNTO(x)
             FLOATVAL(x)
      NO TIENE PUNTO
             INTVAL(x)

Por ahora tengo esto.


« Última modificación: 12 Mayo 2021, 23:13 pm por Leguim » En línea

WHK
Moderador Global
***
Desconectado Desconectado

Mensajes: 6.589


Sin conocimiento no hay espíritu


Ver Perfil WWW
Re: [Pregunta]: ¿Cómo saber si es un ENTERO o FLOTANTE en PHP?
« Respuesta #1 en: 13 Mayo 2021, 00:11 am »

Intenta hacer un doble cast y luego comprueba si es igual al input:

Código
  1. <?php
  2. $n = '123.456';
  3. if((string)(int)$n === (string)$n) {
  4.    echo 'Es entero.';
  5. } else {
  6.    echo 'No es entero.';
  7. }

Saludos.


En línea

Danielㅤ


Conectado Conectado

Mensajes: 1.667


🔵🔵🔵🔵🔵🔵🔵


Ver Perfil
Re: [Pregunta]: ¿Cómo saber si es un ENTERO o FLOTANTE en PHP?
« Respuesta #2 en: 13 Mayo 2021, 01:10 am »

Hola, podes usar la función isdigit() :

https://www.geeksforgeeks.org/php-intlcharisdigit-function/


Saludos
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines