将没有小数部分的 BigDecimal 表示为整数
represent BigDecimal without decimal part as integer
如果 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());
}
在 bigDecResult = new BigDecimal("0.0000")
的情况下如何收到 0
?
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));
}
如果 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());
}
在 bigDecResult = new BigDecimal("0.0000")
的情况下如何收到 0
?
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));
}