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

     

     
  • 相关阅读:
    适配器模式
    代理模式
    单例模式
    构建者(建造者)模式
    js Math方法
    补零
    js中十进制与二进制、八进制、十六进制的互相转换
    js生成一个范围内随机数Math.random
    js不改变原数组的情况下取数值数组的最大值和最小值
    自己封装方法,功能跟数组的indexof一样
  • 原文地址:https://www.cnblogs.com/guop/p/5216836.html
Copyright © 2011-2022 走看看