java 判断是否是小数
时间: 2024-09-29 10:13:15 浏览: 48
在Java中,判断一个数值是否是小数(即含有小数部分)可以使用`java.lang.Double`或`java.lang.Float`类的特性,这两个类提供了一些方法来检查数值是否无限、NaN(非数字)、零还是正常的小数。以下是几种常见的方式:
1. **使用isNaN()函数**:
```java
double num = 3.14;
if (!Double.isNaN(num)) {
if (num == 0 || Math.abs(num) % 1 != 0) { // 检查是否有小数部分
System.out.println("Number is a decimal.");
} else {
System.out.println("Number is an integer.");
}
}
```
2. **使用%运算符**:
如果对浮点数取模(除以1)的结果不等于0,那么该数就是小数。
3. **使用equals()方法**:
```java
if (!num.equals(0) && !Double.compare(num, 0) == 0) { // Double.compare返回0表示相等,其他值表示大小关系
double fractionPart = Math.pow(10, -Math.floor(Math.log10(Math.abs(num))));
if (num * fractionPart != (int)(num * fractionPart)) {
System.out.println("Number is a decimal.");
} else {
System.out.println("Number is an integer.");
}
}
```
阅读全文