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):
MathContext mathContext = new MathContext(2, <<RoundingMode>>);
BigDecimal absValue = nota.round(mathContext);
System.out.println(absValue.doubleValue());
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á!