Arredondamento de meio em meio usando BigDecimal  XML
Índice dos Fóruns » Java Básico
Autor Mensagem
Luiz_Gustavo
Virtual Machine Man
[Avatar]

Membro desde: 30/04/2005 12:55:11
Mensagens: 518
Localização: Assis
Offline

Galera,

alguém conhece uma maneira prática de se fazer arredondamento de um BigDecimal de 0.5 em 0.5?

Tentei usando as combinações de MathContext, RoundingMode, mas ainda não cheguei onde quero.

Eis o que quero para cada um dos valores abaixo:

3.4 = 3.5
3.3 = 3.5
3.2 = 3.0
5.7 = 6.0
6.9 = 7.0

Eis o que eu consigo com cada uma das combinações de MathContext e RoundingMode:

Assumindo a seguinte operação para cada uma dos valores (onde nota representa o valor):




RoundingMode.CEILING

3.4
3.3
3.3
5.8
7.0


RoundingMode.DOWN

3.3
3.2
3.2
5.7
6.9


RoundingMode.FLOOR:

3.3
3.2
3.2
5.7
6.9


RoundingMode.HALF_DOWN:

3.4
3.3
3.2
5.7
6.9


RoundingMode.HALF_EVEN:

3.4
3.3
3.2
5.7
6.9


RoundingMode.HALF_UP:

3.4
3.3
3.2
5.7
6.9


RoundingMode.UP:

3.4
3.3
3.3
5.8
7.0

Como podem ver, com nenhuma combinação eu consegui o resultado esperado.

Alguma dica?

Obrigado desde já!

This message was edited 1 time. Last update was at 11/08/2009 08:12:07


Analista e Desenvolvedor de Sistemas
http://luizgustavoss.blogspot.com/
http://luizgustavoss.wordpress.com/
http://www.linkedin.com/in/luizgustavoss
Procurando uma especialização em Java, SOA e Android? Conheça a TNT Educacional

[Email] [WWW]
thingol
Moderador

Membro desde: 29/07/2004 16:10:13
Mensagens: 17543
Offline

Multiplique o dado por 2, arredonde-o para o inteiro mais próximo, divida-o por 2.
[WWW]
 
Índice dos Fóruns » Java Básico
Ir para:   
Powered by JForum 2.1.8 © JForum Team