Erro " for input String "  XML
Índice dos Fóruns » Java Básico
Autor Mensagem
viniciusfaleiro
Virtual Machine Man
[Avatar]

Membro desde: 22/03/2008 20:07:50
Mensagens: 524
Offline

Estou tendo o seguinte erro com a minha aplicação:" for input String 1.554.83 " quando executo o código gastos = gastos + Double.parseDouble(garbage.get(16).toString());

Fiz uma query e joguei dentro do vetor garbage. Agora estou tentando pegar o valor que veio de la do banco no formato (xxx.xxx,00) más acho o parseDouble não consegue converter assim.. Como posso fazer?

Linkedin: http://www.linkedin.com/pub/vinicius-faleiro/32/697/624
rafabene
Thread.start()

Membro desde: 03/07/2003 11:32:16
Mensagens: 49
Offline

Dê uma olhada na classe http://java.sun.com/javase/6/docs/api/java/text/NumberFormat.html que tem exatamente converter uma String para um número de acordo com a formatação esperada. De qualquer maneira, acredito que sempre haverá problema se você usar dois pontos como informado (1.554.83) no caso deveria haver um sinal diferente para as partes decimais tipo 1.554,83 ou 1,554.83

Rafael Benevides
JBoss Consultant
Red Hat
JBCAA, SCEA, SCBCD 5, SCWCD 1.4, SCJP 1.4, SCJA

http://www.jroller.com/rafaelbenevides
Andre Brito
JWizard

Membro desde: 21/07/2007 17:44:31
Mensagens: 2485
Localização: Paraná
Offline

Você pode também usar DecimalFormat e construir a mask de acordo com suas necessidades. Abaixo disso, você deve usar um replace(',', '.');. Agora, a string tá 1.50, em vez de 1,50. Aí chama o método parseDouble que ele entende.




Eu não sei muito bem como funciona o parâmetro de DecimalFormat, mas acho que desse jeitão funciona.

Como organizar o GUJ.
Meu Twitter.
Meu blog.
Future proofing means making code easy to change, not trying to anticipate every possible way your code might need to change.
[WWW]
 
Índice dos Fóruns » Java Básico
Ir para:   
Powered by JForum 2.1.8 © JForum Team