java如何判断一个字符串是否为数字类型呢?

乔欣 Java经验 发布时间:2022-11-14 17:30:37 阅读数:18782 1
下文笔者讲述使用java代码判断字符串是否为数字类型的方法说明,如下所示

方法一:使用JAVA自带的函数(只能判断正整数)

 public static boolean isNumeric(String str){
    for (int i = str.length();--i>=0;){ 
        if (!Character.isDigit(str.charAt(i))){
            return false;
        }
    }
    return true;
 }
  

方法二:正则表达式的方式

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

方法三:正则方式2

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

方法四:正则方式3

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

方法五:用ascii码

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;
} 
  

方法六
采用强制类转换来判断一个字符串是否为数字

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!"); 
}
  

方法七:采用正则表达式的方式来判断一个字符串是否为数字

//?: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!"); 
        }
 
 
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

本文链接: https://www.Java265.com/JavaJingYan/202211/16684182944909.html

最近发表

热门文章

好文推荐

Java265.com

https://www.java265.com

站长统计|粤ICP备14097017号-3

Powered By Java265.com信息维护小组

使用手机扫描二维码

关注我们看更多资讯

java爱好者