Tryb zaokrąglania z BigDecimal w Javie

Poniższy kod, który używaRoundingMode.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);

wyświetla4 i6 odpowiednio. Wydaje mi się, że powinien się wyświetlić5 i7 odpowiednio, ponieważ cyfra po lewej stronie odrzuconej części ułamkowej (w tym przypadku 5) jestdziwny. W tym przypadku działaRoundingMode.HALF_UP

A w przypadkuRoundingMode.HALF_UP, RoundingMode.UP jest wykonywane, gdy odrzucona część ułamkowa jest> = 0,5 (co jest prawdą), w przeciwnym razieRoundingMode.DOWN jest wykonywane.

questionAnswers(1)

yourAnswerToTheQuestion