zoukankan      html  css  js  c++  java
  • Java中怎样判断一个字符串是否是数字

     在编程的时候,经常遇到要判断一个字符串中的字符是否是数字(0-9),判断字符串是不是数字,大家可能会用一些java自带的方法,也有可能用其他怪异的招式,比如判断是不是整型数字,将字符串强制转换成整型,不是数字的就会抛出错误,那么就不是整型的了,下面我给大家介绍几种实现方法

    1.使用Character.isDigit(char)判断(仅能判断一个字符)

    1. String str = "123abc";  
    2.   if (!"".equals(str)) {  
    3.    char num[] = str.toCharArray();//把字符串转换为字符数组  
    4.    StringBuffer title = new StringBuffer();//使用StringBuffer类,把非数字放到title中  
    5.    StringBuffer hire = new StringBuffer();//把数字放到hire中  
    6.   
    7.    for (int i = 0; i < num.length; i++) {  
    8.   
    9.   // 判断输入的数字是否为数字还是字符  
    10.     if (Character.isDigit(num[i])) {把字符串转换为字符,再调用Character.isDigit(char)方法判断是否是数字,是返回True,否则False  
    11.         hire.append(num[i]);// 如果输入的是数字,把它赋给hire  
    12.     } else {  
    13.      title.append(num[i]);// 如果输入的是字符,把它赋给title  
    14.     }  
    15.    }  
    16.   }  

     

     

    2.使用类型转换判断

    1. try {  
    2.             String str="123abc";  
    3.             int num=Integer.valueOf(str);//把字符串强制转换为数字  
    4.             return true;//如果是数字,返回True  
    5.         } catch (Exception e) {  
    6.             return false;//如果抛出异常,返回False  
    7.         }  

     

    3.使用正则表达式判断

    1. String str = "";   
    2. boolean isNum = str.matches("[0-9]+");   
    3. //+表示1个或多个(如"3"或"225"),*表示0个或多个([0-9]*)(如""或"1"或"22"),?表示0个或1个([0-9]?)(如""或"7")   

     

     

    4.使用Pattern类和Matcher

    1. String str = "123";  
    2.     Pattern pattern = Pattern.compile("[0-9]+");  
    3.     Matcher matcher = pattern.matcher((CharSequence) str);  
    4.     boolean result = matcher.matches();  
    5.     if (result) {  
    6.         System.out.println("true");  
    7.     } else {  
    8.         System.out.println("false");  
    9.     }  
  • 相关阅读:
    Maven 环境的配置
    zTree的简单例子
    plsql免安装客户端的配置
    HDU 1232 畅通工程
    HDU 5698 瞬间移动
    Codeforces 1015E1 Stars Drawing (Easy Edition)
    Codeforces 784B Santa Claus and Keyboard Check
    Codeforces 500C New Year Book Reading
    NSarray 赋值 拷贝 等问题记录
    UINavigationController 操作记录
  • 原文地址:https://www.cnblogs.com/peijie-tech/p/3540170.html
Copyright © 2011-2022 走看看