zoukankan      html  css  js  c++  java
  • (转)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; } }
  • 相关阅读:
    Python-数据结构
    优化算法-BFGS
    Sparse AutoEncoder简介
    Sparse Filtering简介
    基于受限玻尔兹曼机(RBM)的协同过滤
    Grep学习笔记
    【深度学习篇】--Windows 64下tensorflow-gpu安装到应用
    【自然语言处理篇】--聊天机器人从初始到应用
    【深度学习】--DCGAN从入门到实例应用
    【深度学习】--GAN从入门到初始
  • 原文地址:https://www.cnblogs.com/zhuyeshen/p/11434157.html
Copyright © 2011-2022 走看看