¿Es ese carácter un número?

30/Dic/2006 Java , 8 Comentarios
Programación en Java

Ayer publicábamos el artículo «Validar si un dato es numérico en Java» que explica como controlar si una cadena es o no un número. Pero para ciertos casos podemos anticiparnos hasta el origen de dato. Por ejemplo si estamos obteniéndole por pantalla. En este caso podemos controlar cada uno de los caracteres tecleados.

La idea es que por cada carácter tecleado podemos utilizar el método isDigit(char) el cual nos dirá si el carácter que se pasa por parámetro es un dígito o no, es decir, si va del 0 al 9.

Character.isDigit(char)

El método isDigit(char) es un método estático de la clase Character. Es por ello que solo hará falta que lo invoquemos directamente. Quedandonos la siguiente línea de código con un ejemplo:

Character.isDigit('3');

El valor de retorno es un booleano. Es por ello que podemos utilizarlo en condiciones. Por ejemplo en un if:

if (Character.isDigit('3'))
    System.out.println("El caracter es un dígito");
else
    System.out.println("El caracter NO es un dígito");

Podéis jugar a modificar el caracter que se pasa por parámetro para ver como varia el comportamiento del programa.

Vídeos sobre Java


8 comentarios en “¿Es ese carácter un número?”

Víctor Cuervo

Juan Henao

Buen dia,

¿Como hago para identificar un parentesis en una cadena?

Por ejemplo para saber si es un digito se utiliza isDigit, para saber si es un caracter matematico es MATH_SYMBOL, pero no he encontrado la funcion que me identificque los parentesis, urgente gracias

Víctor Cuervo

Víctor Cuervo

Buenas Juan,

Puedes utilizar el método .indexOf() de las cadenas y buscar el paréntesis. Sería algo así:

String sCadena = "mi(cadena)";
System.out.println(sCadena.indexof("("));

Si el método .indexOf() da un valor diferente a -1 es que hay un paréntesis en la cadena.

Saludos.

Víctor Cuervo

ivan

una pregunta, si tengo un ejercicio que me pide saber si un chr es una vocal como debo hacer el ciclo if`? char ==char? gracias de antemano

Víctor Cuervo

Víctor Cuervo

Buenas Ivan,

Simplemente comparándolo con las vocales…

char caracter = 'a';
if ((caracter == 'a') || (caracter='e') || .... )

Saludos.

Víctor Cuervo

Jose

Amigo, cual puede ser la razon de que eso no funcione?

char caracter = ‘R’;
if (caracter == ‘R’)

no entra al ciclo if :(

Víctor Cuervo

Víctor Cuervo

Hola @Albert Lemon,

¿Quieres analizar carácter a carácter qué tipo es? Jugando con la clase Character puedes tener muchas cosas. Por ejemplo tienes un método .isLetter() que te indica si el carácter es una letra.

Tienes más información en:
http://www.w3api.com/wiki/Java:Character
http://www.w3api.com/wiki/Java:Character.isLetter%28%29

Víctor Cuervo

Albert Lemon

Por lo que veo aqui, analiza si «3» es un digito. Se puede hacer para que analice sea cual sea el caracter? Algo como ([a-z]) para que lea de la A a la Z y no solo el que pongamos entre parentesis.

no se si me explico….

Víctor Cuervo

fernando

esta chingona la aportacion :d

¿Algo que nos quieras comentar?

Déjanos tu comentario, no te preocupes que tu email no será publicado

*

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.