Formatação Moeda

Boa noite a todos,
gostaria de ajuda, pois revirei o google e não encontrei uma resposta satisfatória.
Bom estou convertendo um Double para Moeda utilizando a seguinte classe, esta que encontrei no forúm:

public class Moeda {

    static Currency currency = Currency.getInstance("BRL");
    static DecimalFormat formato = new DecimalFormat("#,##0.00");
    double valor;

    public Moeda(String valor) throws ParseException{
        this.valor = Double.parseDouble(valor.replaceAll("\.", "").replaceAll(",", "."));
    }

    public Moeda(double valor){
        this.valor = valor;
    }

    @Override
    public String toString(){
        return currency.getSymbol()+formato.format(valor);
    }

Bom convertido o Double para moeda perfeitamente exibo ele num jtextfield. Agora é que esta o problema como remover o R$ para poder realizar calculos com o valor.
Tentei o REPLACEALL só que ele não consegue remover o $.
Obrigado

cara… não é que ele não acha o cifrão é que o cifrão é um âncora da expressão regular e o que você passa ao replaceAll é um Regex…

Pesquise sobre expressões regulares e você vai conseguir usar o replaceAll ao seu favor… Se não achar a resposta final, volte aqui, mas volte com uma tentativa, heueheueheuehu…

Abs []

Oi,

veja se isso resolve:

import java.text.*;
import java.util.Currency;

public class Moeda {

    private Currency currency = Currency.getInstance("BRL");
    private DecimalFormat formato = new DecimalFormat("#,##0.00");
    private double valor;

    public Moeda(String valor) throws ParseException{
        this.valor = Double.parseDouble(valor.replaceAll("R|\$| ", "").replaceAll(",", "."));
    }
	
	public double getValor(){
		return this.valor;
	}

    public Moeda(double valor){
        this.valor = valor;
    }

    @Override
    public String toString(){
        return currency.getSymbol()+formato.format(valor);
    }
	
	public static void main(String args[]) throws ParseException{
		Moeda m = new Moeda("R$ 25,00");
		System.out.println(m);
		System.out.println(m.getValor());		
	}
}

Modifiquei um pouco seu code, não entendi pq o Currency era static…

[]'s

poutz Willian… ele já ia ganhar bastante pesquisando sobre o assunto…

Agora já era…

[quote=adriano_si]poutz Willian… ele já ia ganhar bastante pesquisando sobre o assunto…

Agora já era…[/quote]

Só se ele aceitar resposta pronta sem pesquisar ou sem entender o que está sendo feito :slight_smile:

Por mais que não seja certo fazer isso, no final depende da pessoa que perguntou se ela vai tirar proveito ou não!

Antes de mais nada, gostaria de agradecer as respostas.
Meu caro já revirei este google de ponta cabeça para encontrar uma solução. Só não pensei que colocando 2 \ resolveria o problema do Replace do $.

Obrigado.