Округлить BigDecimal до ближайшего целого значения - PullRequest
2 голосов
/ 26 марта 2012

Как мне ПРАВИЛЬНО округлить BigDecimal до ближайшего целого значения?

Например,

1.2 --> 1

1.5 --> 2

1.6 --> 2.

Я пытался

BigDecimal val = new BigDecimal(1.5);
System.out.println(val.setScale(0, RoundingMode.HALF_UP))

Но это все равно дает мне 1. НЕ 2. Как и ожидалось.

Кто-нибудь случайно знает, как правильно это сделать?

Спасибо

1 Ответ

4 голосов
/ 26 марта 2012
    BigDecimal val = new BigDecimal(1.2);
    System.out.println(val.setScale(0, RoundingMode.HALF_UP));
    val = new BigDecimal(1.5);
    System.out.println(val.setScale(0, RoundingMode.HALF_UP));
    val = new BigDecimal(1.6);
    System.out.println(val.setScale(0, RoundingMode.HALF_UP));

Результат:

1

2

2

Я не вижу, в чем проблема

...