java判斷string變量是否是數字
阿新 • • 發佈:2017-07-21
java判斷string變量是否是數字
1.用正則表達式
首先要import java.util.regex.Pattern 和 java.util.regex.Matcher
/*方法1):推薦,速度最快 * 利用正則表達式判斷字符串是否是數字 * @param str 傳入的字符串 * @return 是整數返回true,否則返回false */ public boolean isNumeric(String str){ Pattern pattern = Pattern.compile("[0-9]*"); Matcher isNum = pattern.matcher(str); if( !isNum.matches() ){ return false; } return true; } /* 2)推薦,速度最快 * 判斷是否為整數 * @param str 傳入的字符串 * @return 是整數返回true,否則返回false */ public static boolean isInteger(String str) { Pattern pattern = Pattern.compile("^[-\\+]?[\\d]*$"); return pattern.matcher(str).matches(); }
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碼值
isNumeric0(String str) { ( i=str.length();--i>=0;) { chr=str.charAt(i); (chr<48 || chr>57) ; } ; }
5、逐個判斷str中的字符是否是0-9
isNumeric3(String str) { String number = "0123456789"; ( i = 0;i < number.length; i ++) { (number.indexOf(str.charAt(i)) == -1) { ; } } ; }
6、捕獲NumberFormatException異常
isNumeric00(String str) { { Integer.parseInt(str); ; }(NumberFormatException e) { System.out.println("異常:\"" + str + "\"不是數字/整數..."); ; } }
本文出自 “Exist” 博客,請務必保留此出處http://exist.blog.51cto.com/10305882/1949627
java判斷string變量是否是數字