Receta: Validar valores numéricos en JavaScript
Cookies
¿Sabes qué? Pues que como todos los sitios, usamos cookies. Si te parece bien, simplemente haz clic en «Aceptar todo». También puedes elegir qué tipo de cookies quieres haciendo clic en «Ajustes».
Lee nuestra política de privacidad
Cookies
Elige qué tipo de cookies aceptar. Tu elección será guardada durante un año.
Lee nuestra política de privacidad
-
Necesarias
Estas cookies no son opcionales. Son necesarias para que funcione la página. De ahí que no puedas desmarcarlas. -
Estadísticas
Para que podamos mejorar la funcionalidad y estructura de la web, en base a cómo se usa la página. -
Experiencia
Para que nuestra web funcione lo mejor posible durante tu visita. Si rechaza estas cookies, algunas funcionalidades desaparecerán de la página. -
Marketing
Esto es básicamente para que los anuncios se ajusten a tus gustos. Son anuncios de Google AdSense. Puedes desmarcarlas y desaparecerán los anuncios. En la mayoría de artículos encontrarás sólo un anuncio, por lo que si nos puedes ayudar dejando activa esta cookie.
En muchas ocasiones nos interesa verificar que una variable contiene un valor numérico. Un atajo podría ser usar:
El problema, es que con esa condición dejamos fuera al valor 0. Así que lo siguiente que se suele hacer, es tener fórmulas del estilo:
Algo que como se puede apreciar es muy poco eficiente, y también bastante feote.
Es por ello que vamos a ver como verificar que tenemos un valor real o uno entero de una forma mucho más sencilla. Para ello, nos valdremos de los funciones
Number.isFinite()
yNumber.isInteger()
.Como habéis podido comprobar, las dos funciones anteriores, nos ofrecen una forma muy sencilla de validar si un elemento es un número, y aparte verificar que es finito. Ya que por ejemplo, se podría hacer un typeof de la variable, pero los valores
Infinity
y-Infinity
tienen como tiponumber
, y en caso de querer comprobar que es un entero, deberíamos verificar algunas cosillas extra. En mi opinión lo que hemos visto, queda más elegante, y aparte nos proporciona información extra de qué es lo que se desea comprobar.jose