java 判断字符串是否为数字

来源:互联网 发布:完美网络刷销量 编辑:程序博客网 时间:2024/05/29 17:43

1. 用Java 自带的函数

public static boolean isNumeric(String str){  for (int i = str.length();--i>=0;){      if (!Character.isDigit(str.charAt(i))){    return false;   }  }  return true; }

2. 用正则表达式

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

3. 用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;}


在javascript中有一个方法isDigit()使用来判断一个字符串是否都是数字,在java的字符串处理方法中没有这样的方法,觉得常常需要用到,于是上网搜了一下,整理出了两个用正则表达式匹配的判断方法,如下; 


// 判断一个字符串是否都为数字  public boolean isDigit(String strNum) {      return strNum.matches("[0-9]{1,}");  }    // 判断一个字符串是否都为数字  public boolean isDigit(String strNum) {      Pattern pattern = Pattern.compile("[0-9]{1,}");      Matcher matcher = pattern.matcher((CharSequence) strNum);      return matcher.matches();  }//截取数字  public String getNumbers(String content) {      Pattern pattern = Pattern.compile("\\d+");      Matcher matcher = pattern.matcher(content);      while (matcher.find()) {         return matcher.group(0);      }      return "";  }    // 截取非数字  public String splitNotNumber(String content) {      Pattern pattern = Pattern.compile("\\D+");      Matcher matcher = pattern.matcher(content);      while (matcher.find()) {          return matcher.group(0);      }      return "";  }  // 判断一个字符串是否含有数字public boolean hasDigit(String content) {    boolean flag = false;    Pattern p = Pattern.compile(".*\\d+.*");    Matcher m = p.matcher(content);    if (m.matches())       flag = true;       return flag;}


0 0