本篇文章为大家展示java判断字符串是不是数字的多种方法,代码简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

1、用正则表达式

/** * 利用正则表达式判断字符串是否是数字 * @param str * @return */ public boolean isNumeric(String str){ Pattern pattern = Pattern.compile("[0-9]*"); Matcher isNum = pattern.matcher(str); if( !isNum.matches() ){ return false; } return true; }

2、用JAVA自带的函数

public static boolean isNumeric(String str){  for (int i = 0; i < str.length(); i++)  {      System.out.println(str.charAt(i));    if (!Character.isDigit(str.charAt(i)))    {     return false;    }  }  return true;}

3、使用org.apache.commons.lang

org.apache.commons.lang.StringUtils;boolean isNunicodeDigits=StringUtils.isNumeric("aaa123456789");http://jakarta.apache.org/commons/lang/api-release/index.html下面的解释:public static boolean isNumeric(String str)Checks if the String contains only unicode digits. A decimal point is not a unicode digit and returns false.null will return false. An empty String ("") will return true.StringUtils.isNumeric(null) = falseStringUtils.isNumeric("") = trueStringUtils.isNumeric(" ") = falseStringUtils.isNumeric("123") = trueStringUtils.isNumeric("12 3") = falseStringUtils.isNumeric("ab2c") = falseStringUtils.isNumeric("12-3") = falseStringUtils.isNumeric("12.3") = false

4、判断ASCII码值

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、逐个判断str中的字符是否是0-9

public static boolean isNumeric3(String str){ final String number = "0123456789"; for(int i = 0;i < number.length; i ++) {   if(number.indexOf(str.charAt(i)) == -1) { return false; } } return true;}

6、捕获NumberFormatException异常

public static boolean isNumeric00(String str){ try{   Integer.parseInt(str);   return true; }catch(NumberFormatException e) {   System.out.println("异常:\"" + str + "\"不是数字/整数...");   return false; }}

上述内容就是java判断字符串是不是数字的多种方法,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注亿速云行业资讯频道。