Decimal Format atrapalha ao salvar no banco de dados

3 respostas
amtatiana

Pessoal, estou desenvolvendo um aplicativo, onde devo mostrar os valores no seguinte formato: 0.000,00; porém, para que seja salvo no banco, o formato deve ser 0000.00
Eu estava utilizando o comando replace para trocar a vírgula por ponto, mas o ponto da casa do milhar deve ser eliminado. Como eu faço isso?
Obrigada!

3 Respostas

T

Use PreparedStatement e PreparedStatement.setDouble. Aí em vez de passar a string “1.234,56” você passa o número 1234.56 - o banco se encarrega de fazer as coisas certas.

Se quiser converter uma string formatada “1.234,56” para o double 1234.56, use algo parecido com isto:

DecimalFormat df = new DecimalFormat ("#,##0.##", new DecimalFormatSymbols (new Locale ("pt", "BR")));
double d = df.parse ("1.234,56").doubleValue();
B
NumberFormat format = NumberFormat.getInstance(new Locale("pt", "BR"));

double valor = format.parse(stringValor).doubleValue();
amtatiana

Vou tentar aqui! Obrigada pela atenção!

Criado 13 de março de 2009
Ultima resposta 13 de mar. de 2009
Respostas 3
Participantes 3