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
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…