📌  相关文章
📜  如何在java中检查数字是否为整数(1)

📅  最后修改于: 2023-12-03 15:08:55.300000             🧑  作者: Mango

如何在 Java 中检查数字是否为整数

在 Java 中,我们通常有许多处理数字类型的需求,其中之一就是检查一个数字是否为整数。在本文中,我们将介绍一些在 Java 中检查数字是否为整数的方法。

方法一: 使用模运算符

使用模运算符可以判断一个数字是否为整数。如果一个数字除以1的余数为0,则它是一个整数。

double num = 3.14;
if (num % 1 == 0) {
    System.out.println("整数");
} else {
    System.out.println("不是整数");
}

上述代码中,我们首先定义了一个 double 类型的变量 num,其值为 3.14。接下来,我们使用了模运算符 % 判断 num 是否为整数。因为 num % 1 的结果为 0.14,不等于0,所以输出的结果为“不是整数”。

方法二: 使用正则表达式

在 Java 中,我们可以使用正则表达式判断一个数字是否为整数。利用正则表达式,可以检查一个字符串是否符合某种模式。如果一个数字能够被正则表达式^[0-9]+$匹配,那么它是一个整数。

String num = "123";
if (num.matches("^[0-9]+$")) {
    System.out.println("整数");
} else {
    System.out.println("不是整数");
}

上述代码中,我们首先定义了一个字符串类型的变量 num,其值为“123”。接下来,我们使用 matches() 方法检查 num 是否符合正则表达式^[0-9]+$。因为“123”符合该正则表达式,所以输出的结果为“整数”。

方法三: 使用 Java 8 中的 Integer 类

在 Java 8 中,我们可以使用 Integer 类的 isFinite() 方法判断一个数字是否为整数。该方法返回一个布尔值,如果该数字是一个整数,则返回 true,否则返回 false。

double num = 10;
if (Double.isFinite(num) && ((int) num == num)) {
    System.out.println("整数");
} else {
    System.out.println("不是整数");
}

上述代码中,我们首先定义了一个 double 类型的变量 num,其值为 10。接下来,我们使用 Double 类的 isFinite() 方法来检查 num 是否为一个有限的值。如果 num 是有限值并且 (int) num == num,那么 num 就是一个整数,输出的结果为“整数”。

总结

本文介绍了三种在 Java 中检查一个数字是否为整数的方法。第一种方法是使用模运算符,第二种方法是使用正则表达式,第三种方法是使用 Java 8 中的 Integer 类。根据实际需求,我们可以选择适合的方法来判断一个数字是否为整数。