Вы можете использовать setScale()
, чтобы уменьшить количество дробных цифр до нуля.Предполагая, что value
содержит округляемое значение:
BigDecimal scaled = value.setScale(0, RoundingMode.HALF_UP);
System.out.println(value + " -> " + scaled);
Использование round()
немного сложнее, так как требует указания количества сохраняемых цифр.В ваших примерах это будет 3, но это недопустимо для всех значений:
BigDecimal rounded = value.round(new MathContext(3, RoundingMode.HALF_UP));
System.out.println(value + " -> " + rounded);
(Обратите внимание, что BigDecimal
объекты неизменны; и setScale
, и round
будут возвращать новый объект.)