Arrendondar valores do tipo BigDecimal

3 respostas
W

Blz Galera.

Preciso fazer um arredondamento de valores em uma tabela de imposto, mas estou com dificuldades por que os valores são do tipo BigDecimal.
Eu utilizei a classe DecimalFormat mas não deu certo, por que no restante do codigo, exitem calculos feitos com variaves do tipo BigDecimal, e a classe DecimalFormat retorna String e mesmo eu convertendo não deu certo.
Alguém conhece alguma outra forma de arredondar valores do tipo BigDecimal?

Ex: 2.1870 tem que sair 2.19 alguém pode me explicar como posso fazer isso!

3 Respostas

Hebert_Coelho

Veja se te ajuda:

http://www.exampledepot.com/egs/java.text/FormatNum.html

Ev3rton

A classe BigDecimal tem um método para você fazer esse tipo de arredondamento, o setScale. Ele recebe dois parâmetros, o primeiro é o número de decimais e o segundo o tipo de arredondamento.

No seu caso, ficaria assim:

BigDecimal num = new BigDecimal(2.1870);
num.setScale(2, RoundingMode.HALF_UP);

Para saber mais sobre os tipos de arredondamento, você pode consultar a API.

[ ]'s

W

Valeu… muito obrigado pela ajuda.

Criado 31 de outubro de 2011
Ultima resposta 31 de out. de 2011
Respostas 3
Participantes 3