java怎么判断变量是否是数字
java怎么判断变量是否是数字?针对这个问题,这篇文章给出了相对应的分析和解答,希望能帮助更多想解决这个问题的朋友找到更加简单易行的办法。
1、用正则表达式
首先要import java.util.regex.Pattern 和 java.util.regex.Matcher
/** * 利用正则表达式判断字符串是否是数字 * @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判断变量是否是数字的方法了,如果您也有类似的疑惑,不妨参照上述方法进行尝试。如果想了解更多相关内容,请关注亿速云行业资讯。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。