Режим округления с BigDecimal в Java

Следующий код, который используетRoundingMode.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);

дисплеи4 а также6 соответственно. Мне кажется, что он должен отображать5 а также7 соответственно, потому что цифра слева от отброшенной дробной части (которая в данном случае равна 5)странный, В этом случае он выполняетRoundingMode.HALF_UP

И в случаеRoundingMode.HALF_UP, RoundingMode.UP выполняется, когда отброшенная дробная часть> = 0,5 (что верно), в противном случаеRoundingMode.DOWN выполняется.