java判斷一個字符串是否為數字型


摘自:https://blog.csdn.net/qq_42133100/article/details/92158507

 

方法一:用JAVA自帶的函數(只能判斷正整數 )

1
2
3
4
5
6
7
8
2  public  static  boolean  isNumeric(String str){
3     for  ( int  i = str.length();--i>= 0 ;){ 
4         if  (!Character.isDigit(str.charAt(i))){
5             return  false ;
6         }
7     }
8     return  true ;
9  }

  

方法二:正則(推薦,速度最快)

1
2
3
4
public  static  boolean  isInteger(String str) { 
         Pattern pattern = Pattern.compile( "^[-\\+]?[\\d]*$" ); 
         return  pattern.matcher(str).matches(); 
}

  

方法三:正則

1
2
3
4
public  static  boolean  isNumeric(String str){
     Pattern pattern = Pattern.compile( "[0-9]*" );
     return  pattern.matcher(str).matches();  
}

  

方法四:正則

1
2
3
4
5
6
public  final  static  boolean  isNumeric(String s) {
     if  (s !=  null  && ! "" .equals(s.trim()))
         return  s.matches( "^[0-9]*$" );
     else
         return  false ;

  

方法五:用ascii碼 

1
2
3
4
5
6
7
8
public  static  boolean  isNumeric(String str){
     for ( int  i=str.length();--i>= 0 ;){
         int  chr=str.charAt(i);
         if (chr< 48  || chr> 57 )
             return  false ;
     }
    return  true ;

  

方法六:采用強制類轉換來判斷一個字符串是否為數字 (有局限性,如果要判斷是int型或double型,就必須要調整轉換語句,但可以判斷正負)

1
2
3
4
5
6
7
8
try 
         //Integer num = Integer.valueOf(str); 
         Double num2 = Double.valueOf(str); 
         //System.out.println("Is Number!" + num); 
         System.out.println( "Is Number!"  + num2); 
catch  (Exception e) { 
         System.out.println( "Is not Number!" ); 
}

  

方法七:采用正則表達式的方式來判斷一個字符串是否為數字,這種方式判斷面比較全面,可以判斷正負、整數小數 (推薦)

1
2
3
4
5
6
7
//?:0或1個, *:0或多個, +:1或多個 
  Boolean strResult = str.matches( "-?[0-9]+.?[0-9]*" );    
  if (strResult ==  true ) { 
             System.out.println( "Is Number!" ); 
         else 
             System.out.println( "Is not Number!" ); 
         }

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM