Dúvida sobre DecimalFormat!

Olá amigos…
Estou com um prbleminha aqui que não to sabendo como posso fazer para acabar com ele…
Bom é o seguinte…
Estou pegando dados de uma pendência do usuário… (dívida)… depois estou pegando o quanto o usuário quitou da dívida…
Por exemlo…devia 15.50 e pagou 10.00… fica uma dívida ainda de 5.50
O programa tá rodando muito bem… só que estou usando o seguinte código para limitar as casas decimais…

                                DecimalFormat aproximador = new DecimalFormat( " 0.00 " );  
		String preco;
		preco = aproximador.format(precoFinal);
                                txtValorFinal.setText(preco);

O código acima está rodando muito bem… mas o problema é que ele guarda no BD o preço no formato 5,50 … ele separa os centavos com uma vírgula… o que está me gerando erro na hora de fazer cálculos com o valor final da pendência…Pois se ainda tem uma dívida ele tem que pagá-la… mas não tem como fazer o cálculo com essa bendita vírgula ae…
O que os amigos acham que posso fazer…Como faço para limitar as casas decimais mas separando os centavos por pontos!
Estava pensando em usar a classe Math.round… mas não gosto muito do arredondamento dessa classe…

Um abraço a todos!!!

tente assim:

 public String sem_real2(String valor) {


        Locale l = new Locale("pt", "BR");
        NumberFormat nf = NumberFormat.getCurrencyInstance(l);
        Number numero = null;


        valor = "R$ " + valor;
        try {
            numero = nf.parse(valor);
        } catch (ParseException ex) {

        }

        double numeroNovo = numero.doubleValue();

        return String.valueOf(numeroNovo);
    }

[quote=marciofermino]tente assim:

Locale l = new Locale("pt", "BR");

isso não irá formatar o valor com “,”? acho que o correto seria usar “en” “US”, não?

olha um metodo ai que eu fiz

[code]public Double ValorStringParaDouble(String alterar){//vai pro banco assim

Double valor=null;

if(alterar == null || alterar.equals(""))
valor = 0.0;
else
valor = Double.parseDouble(alterar.replace(".", “”).replace(",", “.”));

    return valor;
}

public String ValorDoubleParaStringMonetario(Double alterar){//volta do banco fica assim
    DecimalFormat  formatador  = new DecimalFormat();
    String  valorMonetario = null;
    formatador.setMinimumFractionDigits(2);
    
    if(alterar == null || alterar == 0.0)
        valorMonetario = "";
    else
        valorMonetario = formatador.format(alterar); 
    
    return valorMonetario;
}[/code]

exemplo

[code]String valor = “15,32”;

System.out.println(ValorStringParaDouble(valor));

resultado: 15.32

Double valorDouble = 15.32;

ValorDoubleParaStringMonetario(valorDouble );
resultado: 15,32[/code]