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;
方法有很多,个人觉得使用异常捕捉非常方便,上代码:
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;
}
}
function isAllNumber(String str){
for(int i = 0; i < str.length; i++){
//拿出来判断每个字符是不是数字
char c = str.charAt(i);
if ((c >= \u0030)&&(c <= \u0039)){
return false;
}
}
}