java判断string变量是否是数字的六种方法

发布网友 发布时间:1天前

我来回答

1个回答

热心网友 时间:1天前

判断Java中的string变量是否为数字,可以通过多种方法实现。以下为六种常用方法:

1. 使用正则表达式

方法通过编译正则表达式 "[0-9]*" 来识别字符串是否仅由数字组成。

java

Pattern pattern = Pattern.compile("[0-9]*");

Matcher isNum = pattern.matcher(str);

if (!isNum.matches()) {

return false;

}

return true;

2. 利用Java自带函数

该方法循环遍历字符串中的每个字符,检查是否为数字。发现非数字字符则返回false。

java

public static boolean isNumeric(String str) {

for (int i = 0; i < str.length(); i++) {

if (!Character.isDigit(str.charAt(i))) {

return false;

}

}

return true;

}

3. 利用Apache Commons Lang库

此方法同样检查字符串是否仅包含Unicode数字字符。返回true表示字符串为数字,false表示非数字。

java

org.apache.commons.lang.StringUtils;

boolean isNunicodeDigits = StringUtils.isNumeric("aaa1234567");

4. 利用ASCII码值判断

此方法遍历字符串中的每个字符,检查其ASCII码值是否在数字范围内。非数字字符返回false。

java

public static boolean isNumeric0(String str) {

for (int i = str.length(); --i >= 0;) {

int chr = str.charAt(i);

if (chr 48 || chr > 57)

return false;

}

return true;

}

5. 逐个检查字符

此方法使用字符串"01234567"检查字符串中的每个字符是否为数字。非数字字符返回false。

java

public static boolean isNumeric3(String str) {

final String number = "01234567";

for (int i = 0; i < number.length; i++) {

if (number.indexOf(str.charAt(i)) == -1) {

return false;

}

}

return true;

}

6. 捕获NumberFormatException异常

此方法尝试将字符串解析为整数。解析失败时捕获异常,返回false。成功解析则返回true。

java

public static boolean isNumeric00(String str) {

try {

Integer.parseInt(str);

return true;

} catch (NumberFormatException e) {

System.out.println("异常:" + str + "不是数字/整数...");

return false;

}

}

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com