variable una tipos resultado resueltos programas principales mostrar ingresar funciones funcion ejemplos datos javascript numbers

una - programas en javascript resueltos



¿Cómo detectar si un número dado es un número entero? (8)

¿Cómo puedo probar una variable para determinar si contiene un número y es un número entero?

p.ej

if (1.589 == integer) // false if (2 == integer) // true

¿Alguna pista?


¿Esto no funcionaría?

if (parseInt(number, 10) == number) { alert(number + " is an integer."); }



Esto funciona:

if (Math.floor(x) == x)


Hay una función de javascript llamada isNaN (val) que devuelve true si val no es un número.

Si desea usar val como un número, debe convertir usando parseInt () o parseFloat ()

EDIT: oops. Se corrigió el error como se menciona en el comentario.


Podrías usar la definición formal de entero:

Math.floor(x) === x


Qué tal esto:

if((typeof(no)==''number'') && (no.toString().indexOf(''.'')==-1))


Usted podría hacer uso de las capacidades de análisis de Java o también probar el operador de módulo% ...


num % 1 === 0

Esto convertirá primero el Number al tipo, por lo que cualquier valor que se pueda convertir a un entero pasará la prueba (por ejemplo, ''42'' , true ).

Si desea excluir estos, compruebe adicionalmente para

typeof num === ''number''

También puedes usar parseInt() para hacer esto, es decir

parseInt(num) == num

para un cheque sin atar y

parseInt(num) === num

para un cheque mecanografiado.

Tenga en cuenta que las pruebas no son equivalentes: la verificación a través de parseInt() primero se convertirá a String , por lo que, por ejemplo, true no pasará la verificación.

También tenga en cuenta que el cheque sin tipo a través de parseInt() manejará las cadenas hexadecimales correctamente, pero fallará para los octales (es decir, cadenas numéricas con cero) como son reconocidas por parseInt() pero no por Number() . Si necesita manejar cadenas decimales con ceros iniciales, deberá especificar el argumento de la raíz.