java判斷是否數字
⑴ java中怎麼判斷一個字元串是否為數字
可以使用Character類的isDigit逐位判斷。但是這樣無法判斷小數、負數。
也可以直接使用正則:
Pattern
pattern
=
Pattern.compile("-?[0-9]+\\.?[0-9]*");
String
str
=
"-55.5555";
Matcher
isNum
=
pattern.matcher(str);
if(
isNum.matches()
){
System.out.println("數字");
}
⑵ java如何做到判斷一個字元串是否是數字。
如果只是判斷,可與用integer.parseint(string)如果是數字,就沒有異常,如果有異常,就不是數字
或者用正則表達式
return
string.matches("\\d+\\.?\\d*"));
這個語句就是用來判斷的
\\d+表示一個或者多個數字
\\.?
表示一個或這沒有小數點
\\d
*
表示0個或者多個數字
⑶ java中怎麼判斷指定的數據是字元串是否是數字
java中判斷字元串是否為數字的方法:
1.用JAVA自帶的函數
public static boolean isNumeric(String str){for (int i = 0; i < str.length(); 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; }
⑷ java怎麼判斷一個字元串是否是數字
如果只是判斷,可與用integer.parseint(string)如果是數字,就沒有異常,如果有異常,就不是數字
或者用正則表達式
return
string.matches("\\d+\\.?\\d*"));
這個語句就是用來判斷的
\\d+表示一個或者多個數字
\\.?
表示一個或這沒有小數點
\\d
*
表示0個或者多個數字
⑸ Java中判斷字元串是否為數字的幾種方法
1.使用Character.isDigit(char)判斷
char num[] = str.toCharArray();//把字元串轉換為字元數組
StringBuffer title = new StringBuffer();//使用StringBuffer類,把非數字放到title中
StringBuffer hire = new StringBuffer();//把數字放到hire中
for (int i = 0; i < num.length; i++) {
// 判斷輸入的數字是否為數字還是字元
if (Character.isDigit(num[i])) {把字元串轉換為字元,再調用Character.isDigit(char)方法判斷是否是數字,是返回True,否則False
hire.append(num[i]);// 如果輸入的是數字,把它賦給hire} else {title.append(num[i]);// 如果輸入的是字元,把它賦給title}}}
2.使用類型轉換判斷try {String str="123abc";
int num=Integer.valueOf(str);//把字元串強制轉換為數字
return true;//如果是數字,返回True
} catch (Exception e) {
return false;//如果拋出異常,返回False}
3.使用正則表達式判斷
String str = "";
boolean isNum = str.matches("[0-9]+");
//+表示1個或多個(如"3"或"225"),*表示0個或多個([0-9]*)(如""或"1"或"22"),?表示0個或1個([0-9]?)(如""或"7")
ps:這個方法只能用於判斷是否是正整數
⑹ Java中怎樣判斷一個字元串是否是數字
用java的異常機制,不僅可以判斷是否是數字,還可以判斷整數或者小數:
public void checkInt(String bh){
try{
int num = Integer.parseInt(bh);//將輸入的內容轉換成int
System.out.println("是整數:"+num);//是整數
}catch (NumberFormatException e) {//轉換成int類型時失敗
try{
double d =Double.parseDouble(bh);//轉成double類型
System.out.println("是小數:"+d);//是小數
}catch (NumberFormatException e2) {//轉成double類型失敗
System.out.println("不是數字");
}
}
}
⑺ java中判斷一個字元串是不是數字
Stringstr="123abc";
if(!"".equals(str)){
charnum[]=str.toCharArray();//把字元串轉換為字元數組
StringBuffertitle=newStringBuffer();//使用StringBuffer類,把非數字放到title中
StringBufferhire=newStringBuffer();//把數字放到hire中
for(inti=0;i<num.length;i++){
//判斷輸入的數字是否為數字還是字元
if(Character.isDigit(num[i])){把字元串轉換為字元,再調用Character.isDigit(char)方法判斷是否是數字,是返回True,否則False
hire.append(num[i]);//如果輸入的是數字,把它賦給hire
}else{
title.append(num[i]);//如果輸入的是字元,把它賦給title
}
}
}
⑻ java中 怎麼判斷一個字元是數字
//這個你可以用正則表達式來篩選,其實你明白其中道理就可以了打個比方!
//chara='0';
//charb=0;
這個二個是不一樣的,怎麼來比較這個不一樣,可以用個偷懶的辦法,都加0就可以實現了!
a+0=48;
b+0=0;
所以可以結論出,char類型:'0','1','2'....'9';
可以用(48--57)這個范圍來判斷他們是數字字元還是,其他字元!
而chara=0,b=1,c=2;他們加0還是自身,就可以用(0---9)這個范圍來判斷!
其他其實a---z或者A--Z都有自己的范圍,我就不在例舉了,道理其實很簡單!
我用一個簡單的判斷,遍歷一個數組,你看看吧!
publicclass字元是數
{
publicstaticvoidmain(String[]args)
{
System.out.println(" ==========java中怎麼判斷一個字元是數字!========== ");
init();
}//初始化!
privatestaticvoidinit()
{
char[]arr={'0','9','a',0,'b',9,'W'};
for(inti=0;i<arr.length;i++)
{
if((arr[i]+0>=48)&&(arr[i]+0<=57))
System.out.println("第"+(i+1)+"個是數字字元");
elseif((arr[i]+0>=0)&&(arr[i]+0)<=9)
System.out.println("第"+(i+1)+"個是純數字!");
else
System.out.println("第"+(i+1)+"個是其他字元");
}
}
}
⑼ Java怎樣判斷輸入是否為數字
我不是很明白您的意思,但我想是這樣的,如果你在循環中要判斷用戶是否輸入了數字的話,也許可以檢查一下number的值是否為空。空則無數字,非空可能就是有數字,不過我對java不大熟悉,僅供參考
⑽ java判斷string是不是數字
java中判斷字元串是否為數字的方法:
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
上面三種方式中,第二種方式比較靈活。