[Pregunta]: ¿Cómo saber si es un ENTERO o FLOTANTE en PHP?

Iniciado por Leguim, 12 Mayo 2021, 22:39 PM

0 Miembros y 1 Visitante están viendo este tema.

Leguim

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.

WHK

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

Código (php) [Seleccionar]
<?php
$n 
'123.456';
if((string)(int)
$n === (string)$n) {
    echo 
'Es entero.';
} else {
    echo 
'No es entero.';
}


Saludos.

Danielㅤ

¡Regresando como cual Fenix! ~
Bomber Code © 2021 https://www.bombercode.net/foro/

Ayudas - Aportes - Tutoriales - Y mucho mas!!!