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?
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
Andre_Brito
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.