- Problemas com NumberFormatException -

4 respostas
M

Eu tenho um campo onde o usuário digita números e nesse campo é o RG da pessoa
O rg das pessoas tem 10 númeos, só que se eu digito 10 ele da erro e se eu digito 9 numeros ele executa direitinho. Vejam como eu to fazendo e o que eu posso mudar pra dar certo:

try{

rgCli = Integer.parseInt(rg.getText());

}catch(NumberFormatException ex){

}

quando digitado 10 numeros ele executa o NumberFormatException!! me ajude por favor ;] vlw!

EDIT (Moderador) - Ponha um título decente para pedir ajuda. Que eu saiba, você não precisa mendigar informação aqui.

4 Respostas

W

Eu (acho) que o numero que vc ta digitando eh maior que uma variavel inteira pode conter.

por exemplo eu fiz um teste aqui e peguei a exception.

java.lang.NumberFormatException: For input string: [telefone removido]

at java.lang.NumberFormatException.forInputString(NumberFormatException.java:48)

at java.lang.Integer.parseInt(Integer.java:459)

at java.lang.Integer.parseInt(Integer.java:497)

at teste.main(teste.java:11)

Integer max value is : [telefone removido]

Se eu tivesse digitado por exemplo [telefone removido] funcionaria porque eh menor que o Integer.MAX_VALUE.

Entao o problema nao eh ter ou nao 10 numeros, mas sim o tamanho do numero. Porque dependendo do RG que vc digitar vai ser maior que [telefone removido]. Faca um teste e digita no seu campo RG [telefone removido] vai funcionar.

//Daniel

G

Caso você queira trabalhar número, trabalhe com o tipo LONG.

rgCli = Long.parseLong(“[telefone removido]”);

O correto é não trabalhar com tipo númerico, pois o RG poderá ser não numérico.
Limite o tamanho do campo para aceitar somente 9 caracteres.

furacao123

use a seguinte mascara para validar apenas caracteres: ?

pois como disseram o RG não é de apenas numeros

M

:smiley: vlw ae pessoal! usei tipo long e funcionou direitinho \o/!!!

eu poderia usar o JFormattedTextField, mas mudei de idéia e quis apenas números! vlw mesmo!

Criado 14 de dezembro de 2008
Ultima resposta 15 de dez. de 2008
Respostas 4
Participantes 4