Arredondamento de valores

4 respostas
xwillianss

Olá, gostaria de saber como faço para arredondar valores:

Média de gastos do 1º trimestre: 1754.3333333333333

para

1.754,33

Você pode me ajudar por favor? :smiley:

4 Respostas

B

Multiplica por 100, passa pra long, divide por 100, passa pra double. É a maneira mais rápida, mas corre muitos riscos (imagina truncar a nota do aluno de 6,95 pra 6,9 quando ele precisa de 7 pra passar).

A maneira mais correta (com disse, precisão é um assunto complicado) seria usar o BigDecimal, e passar um MathContext com a precisão e o modo de arredondamento.

xwillianss

renrutal:
Multiplica por 100, passa pra long, divide por 100, passa pra double. É a maneira mais rápida, mas corre muitos riscos (imagina truncar a nota do aluno de 6,95 pra 6,9 quando ele precisa de 7 pra passar).

A maneira mais correta (com disse, precisão é um assunto complicado) seria usar o BigDecimal, e passar um MathContext com a precisão e o modo de arredondamento.

Não entendir nada sem exemplos… vixe :?:

ViniGodoy

Você pode deixar o número sem arredondamentos (e não perder precisão) e deixar que o Java só arredonde na hora de exibi-lo:

Para gerar uma string com n casas decimais faça:

double numero = 12.333333333; String.format("Valor: %.2f", numero);

Agora, para não perder precisão com valores monetários, e ainda ter funções para arredondamento, considere usar a classe BigDecimal no lugar do double/float:
http://java.sun.com/j2se/1.4.2/docs/api/java/math/BigDecimal.html

xwillianss

Valeu ViniGodoy era isso mesmo que eu estava precisando! Obrigado!

Criado 18 de maio de 2008
Ultima resposta 18 de mai. de 2008
Respostas 4
Participantes 3