首页 > 解决方案 > 如何在 Java 中对 BigDecimal 进行舍入

问题描述

我有一个非常大的数字,我使用 BigDecimal 类型,

但是现在我想对 BigDecimal 进行四舍五入,如下所示:如果数字是10803432.12,它将向下舍入为10803432,如果数字是10803432.69,它将四舍五入为10803433 那么怎么做,我的代码:

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

标签: javaandroidroundingbigdecimal

解决方案


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

推荐阅读