1. java中怎樣判斷一個字元串是否是數字
ava中判斷字元串是否為數字的方法:
1.用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;
}
2.用正則表達式
首先要import java.util.regex.Pattern 和 java.util.regex.Matcher
public boolean isNumeric(String str){
Pattern pattern = Pattern.compile("[0-9]*");
Matcher isNum = pattern.matcher(str);
if( !isNum.matches() ){
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下面的解釋:
isNumeric
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) = false
StringUtils.isNumeric("") = true
StringUtils.isNumeric(" ") = false
StringUtils.isNumeric("123") = true
StringUtils.isNumeric("12 3") = false
StringUtils.isNumeric("ab2c") = false
StringUtils.isNumeric("12-3") = false
StringUtils.isNumeric("12.3") = false
Parameters:
str - the String to check, may be null
Returns:
true if only contains digits, and is non-null
上面三種方式中,第二種方式比較靈活。
第一、三種方式只能校驗不含負號「-」的數字,即輸入一個負數-199,輸出結果將是false;
而第二方式則可以通過修改正則表達式實現校驗負數,將正則表達式修改為「^-?[0-9]+」即可,修改為「-?[0-9]+.?[0-9]+」即可匹配所有數字。
2. 如何用Java正則表達式檢測字元串是否是數字組成的
1,正則表達式概念介紹(內容來自網路):正則表達式,又稱規則表達式,英文名為Regular Expression,在代碼中常簡寫為regex、regexp或RE,是計算機科學的一個概念。
正則表通常被用來檢索、替換那些符合某個模式(規則)的文本。正則表達式是對字元串(包括普通字元(例如,a 到 z 之間的字母)和特殊字元(稱為「元字元」))操作的一種邏輯公式,就是用事先定義好的一些特定字元、及這些特定字元的組合,組成一個「規則字元串」,這個「規則字元串」用來表達對字元串的一種過濾邏輯。正則表達式是一種文本模式,模式描述在搜索文本時要匹配的一個或多個字元串。
2,檢測字元串是否由數字組成,則採用該表達式:
publicstaticvoidmain(String[]args){
//要驗證的字元串
Stringstr="[email protected]";
//是否數字正則表達式
StringregEx="^[0-9]*$";
//編譯正則表達式
Patternpattern=Pattern.compile(regEx);
//忽略大小寫的寫法
Matchermatcher=pattern.matcher(str);
//字元串是否與正則表達式相匹配
booleanrs=matcher.matches();
//如果為數字,則輸出true,反之false,即可用該變數做條件判斷
System.out.println(rs);
}
3. Java怎樣判斷輸入是否為數字
你可以用try{}catch來處理,如果轉換的時候出錯了,那就肯定不是數字