Artículos
Java

Validar si un dato es numérico en Java

Creado: 29/Dic/2006 Actualizado: 07/Sep/2023

Navegando por los diferentes foros de la red me encuentro con la siguiente pregunta. ¿Cómo puedo validar si un dato es numérico en Java? A uno le puede parecer una pregunta muy básica y típica de alguien que ni siquiera se ha leído la documentación, pero la cuestión es que es una duda que existe.

De hecho, la gente busca el método isNumeric(String). Que, a día de hoy, no existe dentro de las APIs de Java, si bien, si que existe en algunas otras librerías de renombre, como puede ser en Apache Commons, en concreto org.apache.commons.lang.StringUtils.isNumeric().

Y es que en muchos casos nos vamos a encontrar con orígenes de datos, donde de una forma explicita no vengan definidos como números. Esta claro que una base de datos que alberga enteros lleva la validación implícita, que un WebService (o un simple método Java) identificará los campos como numéricos,… Pero que sucede si estamos leyendo un fichero. Este de forma implícita no lleva ninguna validación. Es en este tipo de casos donde será bueno el realizar este tipo de validaciones. (Cierto es que podríamos realizar una lectura directa sobre enteros).

Para poder resolver esta duda la idea es la siguiente. Partimos de las dos siguientes variables:

String cadenaUno = "1234";
String cadenaDos = "No soy un numero";

Ahora tenemos que codificar el método isNumeric(String), el cual podemos utilizar a posteriori para validar las cadenas. Esto lo haremos de la siguiente forma:

if (Comunes.isNumeric(cadenaUno))
	System.out.println(cadenaUno + " es un numero");
else
	System.out.println(cadenaUno + " NO es un numero");

if (Comunes.isNumeric(cadenaDos))
	System.out.println(cadenaDos + " es un numero");
else
	System.out.println(cadenaDos + " NO es un numero");

El método isNumeric(string) se apoyará en la clase Integer. La idea consiste en transformar la cadena en un número. En el caso de que resulte bien, es que la cadena es un número (obvio), si falla, es que nuestra cadena no será un número.

isNumeric() será un método estático de la clase Comunes. Es por ello que su utilización es la de Comunes.isNumeric(String).

El método de Integer que nos permite transformarlo en numérico es .parseInt(String). Si va bien devuelve el entero, sino genera la excepción NumberFormatException. De esta forma nuestro método quedará de la siguiente forma:

private static boolean isNumeric(String cadena){
	try {
		Integer.parseInt(cadena);
		return true;
	} catch (NumberFormatException nfe){
		return false;
	}
}

Este método es válido para ciertos propósitos, pero no tenemos que olvidar que existen números más grandes que deberían de ser tratados con clases como Long o Double. Es decir, que nuestro método isNumeric(String) podría ser un poco más complejo.

Desde aquí animo a que alguien genere la posible implementación, y lo publicaremos en Línea de Código.

Código Fuente

Descárgate el código fuente de Validar si un dato es numérico en Java
Y si te ha gustado nuestro código fuente puedes regalarnos una estrella Star
Validar si un dato es numérico en Java

Vídeos sobre Java

Disfruta también de nuestros artículos sobre Java en formato vídeo. Aprovecha y suscribete a nuestro canal.

Test Java

¿Te atreves a probar tus habilidades y conocimiento en Java con nuestro test?

Test Java
SVG

Hola mundo en SVG

Creado: Actualizado: 16/Dic/2025

Resulta un poco extraño explicar un ejemplo de como hacer un «Hola Mundo» en un lenguaje destinado a los gráficos vectoriales. Pero es posible. Y es que nadie ha dicho que no haya texto dentro de los gráficos. Por ejemplo, imaginemos un mapa terrestre (ahora que está de moda el tema de Google Earth) con las localizaciones de las ciudades, pueblos y accidentes geográficos.

A lo que vamos. Lo primero que tenemos que hacer es definir nuestro archivo SVG. En este sentido, recordar que es un fichero XML y que la primera etiqueta que nos encontraremos será SVG. Donde definimos el namespace del lenguaje.

<?xml version="1.0"?>
<svg xmlns="http://www.w3.org/2000/svg">
  ... 
</svg>

Una vez definido el documento lo que nos queda es poner el texto. Para ello nos apoyaremos en la etiqueta <text>. De esta etiqueta lo primero que tenemos que saber es que con los atributos X e Y posicionamos el texto:

<text x="100" y="50"></text>

Y lo segundo, que entre la etiqueta de apertura y cierre tiene que ir el texto:

<text x="100" y="50">Hola Mundo</text>

Ahora, y ya para nota, si lo queremos poner bonito podemos utilizar los atributos font-family, font-size y fill donde podemos elegir el tipo de letra, su tamaño y color respectivamente.

<text font-family="Verdana" font-size="30" fill="blue"></text>

Y, así de sencillo, tenemos nuestro Hola Mundo en SVG.