Validar Numero entero en java
6 diciembre 2009 10 comentarios
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.
}
Pingback: PHP: Validar un numero entero « .::programming notes::. Gonzalo Silverio
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
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
no muestrra..nose q onda la paguina,,sino fijense ak
http://blog.video2brain.com/es/validar-numeros-javascript.htm
c’9′
nose q onda..no me toma bien el codigo la paguina….pero dentro del if pone:
(c’9′ )
perdon,corrigo el anterior
char c;
c = evt.getKeyChar();
if (c’9′ ){
evt.consume();
}
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();
}
muy bueno tambien
esa es la forma de validar que la mayoria usa
gracias por el aporte
boolean isInteger(String str){
try {
int v = Integer.parseInt(str);
return true;
} catch(NumberFormatException e) {
return false;
}
}