如何在Java中舍入一个BigDecimal

问题描述

我的数字非常大,我使用的是BigDecimal类型,

但是现在我想四舍五入一个BigDecimal,如下所示: 如果数字为 10803432.12 ,则将四舍五入为 10803432 ;如果数字为 108010802.69 ,则将四舍五入为 10803433 那怎么做 我的代码

        BigDecimal bigDecimal = new BigDecimal("10803432.12");
        MathContext mc = new MathContext(0);
        System.out.println(bigDecimal.round(mc));

解决方法

public static void main(String[] args) throws IOException  {
    BigDecimal bigDecimal = new BigDecimal("10803432.12");
    bigDecimal = bigDecimal.setScale(0,RoundingMode.HALF_UP);      
    System.out.println(bigDecimal);

    bigDecimal = new BigDecimal("10803432.69");
    bigDecimal = bigDecimal.setScale(0,RoundingMode.HALF_UP);
    System.out.println(bigDecimal);
}

输出

10803432
10803433