表示没有小数部分的BigDecimal作为整数

时间:2015-03-23 10:25:28

标签: java bigdecimal

我必须将BigDecimal值显示为整数,如果它没有小数部分。

我的解决方案通常有效,但问题出在bigDecResult收到的时候 在点之后使用几个零的值,如0.0000

        BigDecimal bigDecResult = new BigDecimal("0.0000");

        if (bigDecResult.remainder(BigDecimal.ONE).equals(0)) {
            System.out.println(Integer.toString(bigDecResult.intValue()));

        } else {
            System.out.println(bigDecResult.toString());
        }

如果0

,我如何才能收到bigDecResult = new BigDecimal("0.0000")

1 个答案:

答案 0 :(得分:1)

    BigDecimal bd = new BigDecimal("0.0000");

    if (bd.doubleValue() % 1 == 0.0 ){
    System.out.println(bd.setScale(0));

// You can also convert to Integer: 
// Integer response = bd.setScale(0).toBigInteger().intValue();

    } else {
    System.out.println(bd.setScale(4));
    }