判断bigdecimal是否为整数
时间: 2023-09-17 12:12:12 浏览: 136
要判断一个 BigDecimal 是否为整数,可以使用其 `stripTrailingZeros()` 方法和 `scale()` 方法。
具体地,可以利用 `stripTrailingZeros()` 方法去掉小数部分的末尾的 0,然后再利用 `scale()` 方法判断小数部分的位数是否为 0。
下面是一个示例代码:
```java
import java.math.BigDecimal;
public class Main {
public static void main(String[] args) {
BigDecimal num1 = new BigDecimal("123.000");
BigDecimal num2 = new BigDecimal("123.456");
System.out.println(isInteger(num1)); // true
System.out.println(isInteger(num2)); // false
}
public static boolean isInteger(BigDecimal num) {
return num.stripTrailingZeros().scale() <= 0;
}
}
```
在上面的示例代码中,`isInteger()` 方法接收一个 BigDecimal 对象作为参数,并返回一个布尔值,表示该 BigDecimal 是否为整数。具体实现中,先调用 `stripTrailingZeros()` 方法去掉小数部分末尾的 0,然后再利用 `scale()` 方法获取小数部分的位数。如果小数部分的位数小于等于 0,则说明该 BigDecimal 是整数,否则不是整数。
阅读全文