• (转)java判断string变量是否是数字的六种方法小结


    1.用正则表达式
    首先要import java.util.regex.Pattern 和 java.util.regex.Matcher
    复制代码
      /**
         * 利用正则表达式判断字符串是否是数字
         * @param str
         * @return
         */
        public boolean isNumeric(String str){
               Pattern pattern = Pattern.compile("[0-9]*");
               Matcher isNum = pattern.matcher(str);
               if( !isNum.matches() ){
                   return false;
               }
               return true;
        }
    复制代码

    2.用JAVA自带的函数

    复制代码
    public static boolean isNumeric(String str)
    {
      for (int i = 0; i < str.length(); i++)
      {  
        System.out.println(str.charAt(i));
        if (!Character.isDigit(str.charAt(i)))
        {
            return false;
          }
      }
      return true;
    }
    复制代码

    3.使用org.apache.commons.lang

    复制代码
    org.apache.commons.lang.StringUtils;
    
    boolean isNunicodeDigits=StringUtils.isNumeric("aaa123456789");
    
    
    http://jakarta.apache.org/commons/lang/api-release/index.html下面的解释:
    
    public static boolean isNumeric(String str)Checks if the String contains only unicode digits. A decimal point is not a unicode digit and returns false.
    
    null will return false. An empty String ("") will return true.
    
    StringUtils.isNumeric(null)   = false
    
    StringUtils.isNumeric("")     = true
    
    StringUtils.isNumeric(" ")   = false
    
    StringUtils.isNumeric("123") = true
    
    StringUtils.isNumeric("12 3") = false
    
    StringUtils.isNumeric("ab2c") = false
    
    StringUtils.isNumeric("12-3") = false
    
    StringUtils.isNumeric("12.3") = false
    复制代码

    4、判断ASCII码值

    复制代码
    public static boolean isNumeric0(String str)
    {  
      for(int i=str.length();--i>=0;)
      {   int chr=str.charAt(i);   if(chr<48 || chr>57)     return false;
      }   return true; }
    复制代码

    5、逐个判断str中的字符是否是0-9

    复制代码
    public static boolean isNumeric3(String str)
    { final String number = "0123456789"; for(int i = 0;i < number.length; i ++)
    {
       if(number.indexOf(str.charAt(i)) == -1)
    {
    return false; } } return true; }
     

    6、捕获NumberFormatException异常

     
    public static boolean isNumeric00(String str)
    { try{   Integer.parseInt(str);   return true; }catch(NumberFormatException e)
    {   System.out.println("异常:"" + str + ""不是数字/整数...");   return false; } }
  • 相关阅读:
    Lucene4.5.1之添加索引、更新索引、删除索引、查找数据
    DWR 2.0.10之简单测试
    SNMP OID列表
    zabbix low-level discovery 监控mysql
    Linux系统负载查询
    MySQL 调优
    Linux 下DNS详解
    C语言计算两个日期间隔天数
    Linux vmstat命令详解
    select函数的详细使用(C语言)
  • 原文地址:https://www.cnblogs.com/muhy/p/12105829.html
Copyright © 2020-2023  润新知