solimar
Setembro 3, 2008, 7:23pm
#1
Olá. estou com um problema no momento de converter uma string em inteiro.
Estou utilizando o Struts 2 e pegando em um campo textfield uma string toda numérica e tentando transformar para inteiro, mas acontece o erro java.lang.NumberFormatException: For input string: “16099117464”.
Já olhei na net e os erros são pq tinha um caracter qualquer no meio dos números, mas no meu caso não tem, nem vazio, pois uso o “trim()” para retirar os caracteres vazios.
Já utilizei try{}catch(NumberFormatException f), mas não adiantou.
Sempre acontece o mesmo erro.
Se puderem me ajudar, agradeço.
Oi,
Como você mesmo já verificou é problema de conversão…posta o trexo do código.
ps. Tem várias mensagens iguais sua.
solimar
Setembro 3, 2008, 7:35pm
#3
O código é o seguinte:
getUsuario().setMatricula(Integer.toString(getUsuario().getMatriculaAux().trim()));
setMatricula(int i)
setMatriculaAux(String s)
também tentei da seguinte forma:
try {
getUsuario().setMatricula(Integer.toString(getUsuario().getMatriculaAux().trim()));
} catch(NumberFormatException f) {
f.printStackTrace();
}
Desde já, Obrigado pela ajuda
solimar
Setembro 3, 2008, 7:36pm
#4
Um erro, na realidade ta assim
getUsuario().setMatricula(Integer.parseInt(getUsuario().getMatriculaAux().trim()));
setMatricula(int i)
setMatriculaAux(String s)
[quote=solimar]Um erro, na realidade ta assim
[code]
getUsuario().setMatricula(Integer.parseInt(getUsuario().getMatriculaAux().trim()));
setMatricula(int i)
setMatriculaAux(String s)
[/code][/quote]
Revisa esse fonte direito, isso ai não compila…e coloca também o stacktrace.
solimar
Setembro 3, 2008, 7:48pm
#6
Desculpe, mas na realidade os set’s só foram para demostrar que o “matricula” recebe int e o “matriculaAux” recebe String.
O código esta correto, é esse mesmo que te passei pela segunda vez.
Esse getUsuario().getMatriculaAux(), é preenchido pelo Struts.
getUsuario().setMatricula(Integer.parseInt(getUsuario().getMatriculaAux()));
ou
try {
} catch(NumberFormatException f) {
f.printStackTrace();
}
o numero 16099117464 eh grande demais p/ um tipo int. eh so mudar o tipo…por exemplo, double d = 16099117464.0;
solimar
Setembro 3, 2008, 10:39pm
#8
Muito obrigado.
Aproveitando a resposta, se puder me ajudar em outra dúvida, agradeço
http://www.guj.com.br/posts/list/102026.java