📜  java如何检查字符串是数字 - Java(1)

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

Java如何检查字符串是数字

在Java中,要检查一个字符串是否是数字,有几种方法。

方法一:使用正则表达式

正则表达式可以用来匹配数字。以下是一个示例代码片段,演示如何使用正则表达式检查字符串是否是数字:

String str = "1234";
if (str.matches("-?\\d+(\\.\\d+)?")) {
    System.out.println("是数字");
} else {
    System.out.println("不是数字");
}

这个正则表达式匹配整数和浮点数,包括正数和负数。如果字符串 匹配成功,返回 true,否则返回 false。

方法二:使用 Java 自带的异常捕获机制

Java 的 NumberFormatException 异常是一个非受查异常,如果想在运行时检查一个字符串是否是数字,可以使用异常捕获机制。以下是一个示例代码片段:

String str = "1234";
try {
    double d = Double.parseDouble(str);
    System.out.println("是数字");
} catch (NumberFormatException e) {
    System.out.println("不是数字");
}

如果字符串转换为数值成功,则返回“是数字”,否则会抛出 NumberFormatException 异常,被 catch 捕获。

方法三:使用第三方库

除了 Java 自带的方法之外,还有第三方库可以辅助我们检查字符串是否是数字。例如,Apache Common Lang 库提供了一个方法,可以判断一个字符串是否是数字类型。以下是一个示例代码片段:

import org.apache.commons.lang3.math.NumberUtils;

String str = "1234";
if (NumberUtils.isCreatable(str)) {
    System.out.println("是数字");
} else {
    System.out.println("不是数字");
}

如果字符串是数字,则返回 true,否则返回 false。

以上是三种检查字符串是否是数字的方法,可以根据具体场景选择合适的方法。