您可以使用
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会返回一个新的对象。)



