Contas em BigDecimal

1 resposta
V

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.[telefone removido]…7

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

1 Resposta

Ironlynx

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

Criado 24 de agosto de 2007
Ultima resposta 24 de ago. de 2007
Respostas 1
Participantes 2