java判断一个字符串是否为数字型

本文详细介绍了使用Java进行数字字符串验证的多种方法,包括利用Java自带函数、ASCII码判断、正则表达式以及类型转换等,适用于不同场景下的数字判断需求。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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


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 }

方法二:正则(推荐,速度最快)

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

方法三:正则

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

方法四:正则

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

方法六:采用强制类转换来判断一个字符串是否为数字 (有局限性,如果要判断是int型或double型,就必须要调整转换语句,但可以判断正负)

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

 

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值