java中怎么判断字符串是否全部为数字

2024-11-23 10:38:00
推荐回答(3个)
回答(1):

1 //方法一:用JAVA自带的函数
2 public static boolean isNumeric(String str){
3 for (int i = str.length();--i>=0;){
4 if (!Character.isDigit(str.charAt(i))){
5 return false;
6 }
7 }
8 return true;
9 }

/*方法二:推荐,速度最快
* 判断是否为整数
* @param str 传入的字符串
* @return 是整数返回true,否则返回false
*/

public static boolean isInteger(String str) {
Pattern pattern = Pattern.compile("^[-\\+]?[\\d]*$");
return pattern.matcher(str).matches();
}

//方法三:
public static boolean isNumeric(String str){
Pattern pattern = Pattern.compile("[0-9]*");
return pattern.matcher(str).matches();
}

//方法四:
public final static boolean isNumeric(String s) {
if (s != null && !"".equals(s.trim()))
return s.matches("^[0-9]*$");
else
return false;
}

//方法五:用ascii码
public static boolean isNumeric(String str){
for(int i=str.length();--i>=0;){
int chr=str.charAt(i);
if(chr<48 || chr>57)
return false;
}
return true;

回答(2):

方法有很多,个人觉得使用异常捕捉非常方便,上代码:

public static boolean isNumeric(String str){//捕获NumberFormatException异常

if (str != null) str = str.trim();//" 3 "自动去空格再判断

try{

Integer.parseInt(str);

return true;

}catch(NumberFormatException e){

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

return false;

}

}

回答(3):

function isAllNumber(String str){
for(int i = 0; i < str.length; i++){
//拿出来判断每个字符是不是数字

char c = str.charAt(i);
if ((c >= \u0030)&&(c <= \u0039)){
return false;

}
}

}