欢迎访问宙启技术站
智能推送

实现Java函数来检查输入的字符串是否为数字

发布时间:2023-10-17 06:34:07

您可以使用Java内置的方法或正则表达式来检查输入的字符串是否为数字。

1. 方法1:使用Java内置的异常处理尝试将字符串转换为数字。如果转换成功,说明输入的字符串是数字,否则不是。

public static boolean isNumeric(String str) {
    try {
        Double.parseDouble(str);
        return true;
    } catch (NumberFormatException e) {
        return false;
    }
}

2. 方法2:使用正则表达式匹配数字的模式。如果字符串与数字模式匹配,则说明输入的字符串是数字,否则不是。

public static boolean isNumeric(String str) {
    String pattern = "^[-+]?[0-9]*\\.?[0-9]+([eE][-+]?[0-9]+)?$";
    return str.matches(pattern);
}

示例用法:

public static void main(String[] args) {
    String input1 = "12345";
    String input2 = "12.34";
    String input3 = "-45.67";
    String input4 = "abcd";
    
    System.out.println(isNumeric(input1));  // 输出: true
    System.out.println(isNumeric(input2));  // 输出: true
    System.out.println(isNumeric(input3));  // 输出: true
    System.out.println(isNumeric(input4));  // 输出: false
}

这两种方法都可以有效地判断输入的字符串是否为数字。最终决定使用哪种方法取决于您的具体需求和对性能的要求。