Verificar se é numerico

13 respostas
R

Alguem sabe me dizer se existe algum metodo que virifica se o valor de variavel é inteiro?

Desde já
Agradeço.

13 Respostas

G

Em javascript existe a função isNaN, procure sobre ela…

R

preciso validar isso no java

N

Faz um Integer.parseInt(“12345”);

Se der uma exceção não é. :smiley:

F

Faz um Integer.parseInt(“12345”);

Se der uma exceção não é.

Eu ia responder isso também, mas achei meio tosco ahuahua de qualquer forma vale. Se alguém souber uma maneira melhor posta ae.

R

mas assim tbm da pau quando o usuario digita uma string blablablabla ele nao consegue dar o parse para inteiro

F

Sim, dá um try catch, pega a exception e faz o tratamento, o erro é esperado. Porque não usa uma máscara de javascript ou algo assim?

G

Depende do contexto, se for uma validação, com certeza deve ser feito no cliente, isso evitaria trafego inútil de dados etc etc etc.

L

Juntando tudo o que foi dito aqui ficaria mais ou menos assim:

int num = 0;
String recebido = "123"; // o que foi recebido
try{
   num = Integer.parseInt(recebido);

}catch(Exception ex){
//se der erro mantém o numero como 0
num = 0;
//System.out.println("Erro = " + ex);
}
F
leopoldof:
Juntando tudo o que foi dito aqui ficaria mais ou menos assim:
int num = 0;
String recebido = "123"; // o que foi recebido
try{
   num = Integer.parseInt(recebido);

}catch(Exception ex){
//se der erro mantém o numero como 0
num = 0;
//System.out.println("Erro = " + ex);
}

Ok, mas vc esta fazendo uma captura "AMPLA" demais. Exception pode ser qqer coisa, se seu codigo protegido pelo try tivesse mais codigo
vc nao saberia o que gerou a exceção e perderia um dos recursos mais legais de Java - tratamento diferenciado de exceções.

A exceção em questão é a NumberFormatException. Ficaria mais legal assim:

int num = 0;
String recebido = "123"; // o que foi recebido
try {
   num = Integer.parseInt(recebido);

} catch( NumberFormatException ex ) {
//Deu erro pq nao era um numero. Ex: asadasdsas
num = 0;
//System.out.println("Erro = " + ex);
} catch( Exception exc ) {
//Aconteceu outra coisa. Poderia ser capturado outro tipo aki
//System.out.println("Erro = " + exc);
}
P

se for uma validação pode ser feito no cliente, mas deve ser feita no servidor, o que evita trafego de dados maliciosos :wink:

L

fabiocsi…concordo com vc… esse try está muito amplo mesmo , só quis exemplificar e mostrar como ficaria estruturada a questão postada por nosso amigo… acho sua observação importante…

R

Agradeço a todos, ajudou muito.

[]'s
Razah.

M

Use o método isNumeric da classe StringUtils do Apache Commons Lang

Criado 8 de abril de 2008
Ultima resposta 9 de abr. de 2008
Respostas 13
Participantes 8