Formatar String para Double

Tenho uma aplicação que cadastra valores em banco de dados, o método q conecta ao banco possui o argumento valor do tipo Double, esse valor o usuario insere num textfield, bom usei o Double.parseDouble e chega a compilar, mas qd executo dá um erro e nao armazena o valor no banco, o erro é esse: java.lang.NumberFormatException: For input string: “33.000,00”
Já tentei usar o DecimalFormat, mas nao deu jeito, bom quero um jeito de cadastrar esse valor no banco no formato ###.###.###,## por exemplo! Alguém poderia me ajudar??? Agradeço!

http://java.sun.com/docs/books/tutorial/i18n/format/decimalFormat.html

No COBOL, tínhamos isso:

CONFIGURATION SECTION. SPECIAL-NAMES. DECIMAL-POINT IS COMMA.
que burlava erros como esses.

Até!

De uma olhada na classe NumberFormat: http://java.sun.com/j2se/1.5.0/docs/api/java/text/NumberFormat.html em especial ao metodo : getCurrencyInstance(Locale inLocale)

Não sei se te ajuda. Vejamos;
GRAVANDO NO BD:

  1. Utilizando um JTextField;
  2. Verificar se o número digitado é um double válido;
  3. Montar double (tirar máscara e deixar com apenas decimal - substituir vírgula por ponto);
  4. Enviar double para o BD.

BUSCANDO DO BD:

  1. busca valor;
  2. formata valor com a máscara definida;
  3. seta no JTextfield valor montado com a máscara.

Pense um pouco nisso (desculpe se não é isso).
Abraços.

Cara, sinceramente achei mais complicado do que aplicar um local a aplicação ( o Locale que o nosso colega disse ). Problemas de localização e internacionalização já foram contemplados e os mais comuns, resolvidos. O link que passei anteriormente já explica como fazer isso de uma maneira bem completa. Caso queira ( e precise ) ler mais sobre outros assuntos que envolvem local, moeda, horario, data etc, procure por internationalization (i18n) ou localization (l10n).

Até!

To aprendendo tbm a formatar números, datas, etc. Valeu maquiavel.