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