Desformatar" valores monetários para double para efetuar cálculos

Será que alguém sabe como “desformatar” valores monetários para double para efetuar cálculos?

Por exemplo o valor 12.345.678,90, “desformatado” deveria ficar 12345678,90;

Preciso exatamente do contrário da pergunta abaixo;
http://www.guj.com.br/posts/list/55876.java#293393

Obrigado!

Kra pq vc nao faz um replaceAll(".","") na variavel…

O método correto (embora um pouco lento) para fazer isso é usar DecimalFormat:

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

class TesteDecimalFormat {

    public static void main(String[] args) {
        NumberFormat nf = new DecimalFormat (",###.##", new DecimalFormatSymbols (new Locale ("pt", "BR")));
        
        double d = 0;
        try {
            d = nf.parse ("12.345.678,90").doubleValue();
        } catch (ParseException ex) {
            System.out.println ("Valor com formatação inválida!");
        }
        System.out.println (d); // imprime em notação científica: 1.23456789E7
        double e = d * 1.75; // vou somar 75% ao valor original
        System.out.println (nf.format (e)); // deve imprimir 21.604.938,08
    }
}