如何判断BigDecimal 是否为整数
时间: 2023-08-08 14:09:09 浏览: 109
可以使用 `BigDecimal` 的 `stripTrailingZeros()` 方法将小数位去掉,然后使用 `scale()` 方法获取小数位数,如果小数位数为0,则说明该 `BigDecimal` 是一个整数。
以下是示例代码:
```java
BigDecimal decimal = new BigDecimal("10.00");
if (decimal.stripTrailingZeros().scale() <= 0) {
System.out.println(decimal + " 是整数");
} else {
System.out.println(decimal + " 不是整数");
}
```
输出结果为:
```
10 是整数
```
相关问题
判断bigdecimal是否为整数
要判断一个 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 是整数,否则不是整数。
判断BigDecimal是否为整数
可以使用BigDecimal的`stripTrailingZeros()`方法去除小数部分,然后判断结果是否等于自身即可。示例代码如下:
```java
public static boolean isInteger(BigDecimal decimal) {
return decimal.stripTrailingZeros().scale() <= 0;
}
```
这里通过`scale()`方法获取小数位数,如果小于等于0则说明该BigDecimal是一个整数。
阅读全文