我必须将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")
答案 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));
}