Modo de redondeo con BigDecimal en Java

El siguiente código que utilizaRoundingMode.HALF_EVEN,

BigDecimal value1 = new BigDecimal("4.5");
value1=value1.setScale(0, RoundingMode.HALF_EVEN);

BigDecimal value2 = new BigDecimal("6.5");
value2=value2.setScale(0, RoundingMode.HALF_EVEN);

System.out.println(value1+"\n"+value2);

muestra4 y6 respectivamente. Me parece que debería mostrar5 y7 respectivamente porque el dígito a la izquierda de la parte fraccionaria desechada (que es 5 en este caso) esimpar. En este caso, realiza.RoundingMode.HALF_UP

Y en caso deRoundingMode.HALF_UP, RoundingMode.UP se realiza cuando la parte fraccionaria desechada es> = 0.5 (lo que es cierto), de lo contrarioRoundingMode.DOWN es interpretado.

Respuestas a la pregunta(1)

Su respuesta a la pregunta