Я хочу округлить десятичное число до ближайшего натурального числа. Пример:Как округлить BigDecimal меньше 1
public static void main(String[] arguments){
BigDecimal a=new BigDecimal("2.5");
BigDecimal b=new BigDecimal("0.5");
System.out.println(a.round(new MathContext(1,RoundingMode.UP)));
System.out.println(b.round(new MathContext(1,RoundingMode.UP)));
}
Ожидаемый результат
3
1
Реальный выход
3
0.5
Проблема заключается в том, что число 0,5 округляется до 0,5 вместо 1 Как Округление BigDecimal меньше чем 1
это ошибка или что-то еще, все еще интересуется intvalue = intvalue.setScale (0, RoundingMode.UP); хорошо работает –
Да, setScale (0) работает, но я понятия не имею, почему метод BigDecimal round работает так. – PcAF