Converter número.. Double

Eu tenho o valor 0.001, quanto eu transformo ele Double o valor passa para 0.0010, ou seja acrescenta um zero.

Tem como tirar esse zero?

No DecimalFormat ele retorna String, fica tudo certo, mas depois eu tenho que colocar num Double e acrescenta o zero ficando com valor errado!

Obrigado.

Mas para os cálculos isso não deve interferir…

Você pode resolver isso formatando diferente, quando passa para String.

Como está seu DecimalFormat?

private String formatarValor(double valor) {
    DecimalFormat formatador = new DecimalFormat("##,###00.000");
    String s = formatador.format(valor);
    s = s.replace(',', '.'); 

    return s;
}

Acho que deve funcionar.
Abraço.

[editado]
Opz, não vi que você já tinha postado thegoergen.
Desculpa.
[/editado]

No BD está com o valor 0.003 quando faz o rset.getDouble passa para 0.0030, eu formato e fica tudo certo, mas eu tenho que colocar num Double ai acrescenta o zero

DecimalFormat f = new DecimalFormat("0.000");
// no getDouble o valor já vai para 0.0030 o valor no BD é 0.003
String x = f.format(rset.getDouble(1));  // formata e fica com o valor correto 0.003
System.out.println(new Double(x));
// retorna 0.0030 

É que essa linha:

System.out.println(new Double(x));  

Mostra o toString() do Double, e ele tem um formato diferente. Não sei, talvez esteja mentindo, mas poode ser que o formato padrão é com 4 casas decimais… Se quiser diferente, vai ter que usar o DecimalFormat…

Continua mostrando o valor errado.