Contas em BigDecimal

Ola
Estou com um problema com contas em BigDecimal
Tipo:

BigDecimal valorMultaJuros = BigDecimal.ZERO; BigDecimal percJurosTotal = percJuros.divide(BigDecimal.valueOf(30.0), BigDecimal.ROUND_UP).multiply(qntdDias); valorMultaJuros = valorMultaJuros.add(valor.multiply(percMulta.divide(BigDecimal.valueOf(100.000)))); valorMultaJuros = valorMultaJuros.add(valor.add(valorMultaJuros).multiply(percJurosTotal.divide(BigDecimal.valueOf(100.000)))); BigDecimal total = Utilitarios.getAproximacao(valorMultaJuros,3); return total;

Estou calculando os juros de uma parcela.

Quando o percentual de juros é = 10.000 (dez), e divide por 30 ele faz a conta e retorna o resultado com apenas três casas decimais, sendo que eu gostaria de fazer todo o calculo, e so arredondar para trez casa no final usando Utilitarios.getAproximacao(valorMultaJuros,3), pois se ele arredonda quando divide por trinta, da diferença no resultado.

EXEMPLO DO QUE ACONTECE:

10.000/30 = 0.334 * 14 = 4.676

SENDO QUE EU QUERO QUE ELE ME RETORNE O VALOR SEM ESSE “PRE ARREDONDAMENTO”
= 4.66666666666…7

Já fiz um teste, se eu coloco 10.0000/30, ele almenta a quantidade de casas decimais, ficando o resultado = 4.6676

Se vc aumentar a escala(o setScale) para uns 30 não resolve o que vc quer?

http://java.sun.com/j2se/1.5.0/docs/api/java/math/BigDecimal.html