在Java中检查BigDecimal是否为整数
- 论坛
- 在Java中检查BigDecimal是否为整数
12 浏览
在Java中检查BigDecimal是否为整数
有没有一种高效的方法来确定一个BigDecimal对象是否是数学意义上的整数?
目前我有以下代码:
private boolean isIntegerValue(BigDecimal bd) {
boolean ret;
try {
bd.toBigIntegerExact();
ret = true;
} catch (ArithmeticException ex) {
ret = false;
}
return ret;
}
... 但如果可能的话,我希望避免创建对象的开销。
以前我使用的是bd.longValueExact(),如果BigDecimal对象在内部使用了紧凑表示,这样就避免了创建对象,但是如果值太大而无法放入long类型中,这种方法显然会失败。