- Problemas com NumberFormatException -  XML
Índice dos Fóruns » Java Básico
Autor Mensagem
michaelwillian
Debugger

Membro desde: 05/12/2008 22:02:25
Mensagens: 74
Offline

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.

This message was edited 1 time. Last update was at 15/12/2008 10:16:01

windsofhell
GUJ Master

Membro desde: 15/06/2007 08:31:17
Mensagens: 1683
Localização: Stockholm - Sweden
Offline

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: "12345678991"
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 : 2147483647

Se eu tivesse digitado por exemplo 1234567899 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 2147483647. Faca um teste e digita no seu campo RG 1000000000 vai funcionar.

//Daniel

This message was edited 2 times. Last update was at 14/12/2008 13:17:10

gelo_sp
HelloWorld

Membro desde: 29/04/2003 20:59:12
Mensagens: 14
Localização: Barueri/SP
Offline

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

rgCli = Long.parseLong("9999999990");


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.

This message was edited 1 time. Last update was at 14/12/2008 15:03:13


Rogerio Noronha
Analista Desenvolvedor
ICQ: gelo_sp
[ICQ]
furacao123
GUJ Ranger
[Avatar]

Membro desde: 24/01/2008 22:05:47
Mensagens: 794
Offline

use a seguinte mascara para validar apenas caracteres: ?

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

Q8200 | Intel DG35EC | 4GB Kingston 800 |HD Seagate 250 GB SATA | HD Seagate 160 GB SATA | Monitor LG 22'' | Fonte AKASA 350W | GeForce 9600 GT
[Email] [Yahoo!] [MSN]
michaelwillian
Debugger

Membro desde: 05/12/2008 22:02:25
Mensagens: 74
Offline

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!
 
Índice dos Fóruns » Java Básico
Ir para:   
Powered by JForum 2.1.8 © JForum Team