Validar Numero entero en java

Ha veces es necesario comprobar si cierta cadena es un numero o no. Por ejemplo cuando deseamos guardar un dato numerico en una base de datos (campos edad, cantidad, etc), antes de enviarlos a la BD se deben validar para para que el DBMS no nos devuelva error.

El siguiente codigo muestra como validar si en una cadena que llega todos son numeros. Se supone de antemano que a la cadena se le han eliminado espacios al principio y al final.


/*
 Descripcion:
 Contiene un metodo que Valida si una cadena es un numero entero.
 author: gonzasilve@gmail.com
 fecha:  06/12/2009
 archivo CadenaEnteros.java
*/

public class CadenaEnteros
{
 //Devuelve true si en una cadena que llega todos son numeros, false en caso contrario
 public boolean esEntero(String cad)
 {
 for(int i = 0; i<cad.length(); i++)
 if( !Character.isDigit(cad.charAt(i)) )
 return false;

 return true;
 }

 public static void main(String args[])
 {
 CadenaEnteros cadena1 = new CadenaEnteros();
 //Probar con un numero entero valido:   Devuelve true
 System.out.println("\"3432465\" es entero: " + cadena1.esEntero("3432465"));
 //Probar con una cadena invalida:   Devuelve false
 System.out.println("\"34hola\" es entero: " + cadena1.esEntero("34hola"));
 //Probar con una cadena invalida:   Devuelve false
 System.out.println("\"23.5\" es entero: " + cadena1.esEntero("23.5"));
 }
}

Basicamente el metodo recorre la cadena caracter por caracter y comprueba si NO es un digito, si alguno no lo es, devuelve false. Si ninguno fue false llegara la instruccion return true y terminara el metodo.
Ojo, este metodo solo valida NUMERO ENTEROS, los numeros flotantes (con punto decimal) se deben validar con otro metodo. Si se intenta validar un numero flotante con este metodo siempre devolvera false (pues el caracter punto ( . ) no es un digito).

Enseguida se muestra una imagen de la compilacion y ejecucion de la prueba de este metodo en mi sistema Ubuntu.

Aunque la implementacion de esto se puede hacer de muchas formas aqui muestro la manera como se me ocurrio a mi. Es muy util por ejemplo para validar las cadenas introducidas en campos JTextField en una GUI que tenga campos en donde el usuario deba escribir un dato entero.

Espero que le sirva a alguien, hasta pronto.

}

Acerca de gonzasilve
Freelance Web Developer.

10 Responses to Validar Numero entero en java

  1. Pingback: PHP: Validar un numero entero « .::programming notes::. Gonzalo Silverio

  2. RAIZA dice:

    Hola Gonzalo tu por casualidad me podrás decir cómo se hace un programa en java que pida un año por pantalla y diga si es bisiesto te lo agradecería no entiendo nada de java gracias

    • gonzasilve dice:

      Acabo de publicar una entrada que responde tu pregunta. Revisa aca. https://gonzasilve.wordpress.com/2012/03/27/determinar-si-un-ano-es-bisiesto-2/

      Saludos

  3. javier_007 dice:

    no muestrra..nose q onda la paguina,,sino fijense ak

    http://blog.video2brain.com/es/validar-numeros-javascript.htm

  4. javier_007 dice:

    c’9′

  5. javier_007 dice:

    nose q onda..no me toma bien el codigo la paguina….pero dentro del if pone:

    (c’9′ )

  6. javier_007 dice:

    perdon,corrigo el anterior
    char c;
    c = evt.getKeyChar();
    if (c’9′ ){
    evt.consume();

    }

  7. javier_007 dice:

    en el evento Key Typed del jTexfiel pega este codigo..y te funciona (solo para numeros)

    char c;
    c = evt.getKeyChar();
    if (c’9′ ){
    evt.consume();

    }

  8. gonzasilve dice:

    muy bueno tambien

    esa es la forma de validar que la mayoria usa

    gracias por el aporte

  9. daniel dice:

    boolean isInteger(String str){
    try {
    int v = Integer.parseInt(str);
    return true;
    } catch(NumberFormatException e) {
    return false;
    }
    }

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: