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

     

     
  • 相关阅读:
    ODI ORA-00932: 数据类型不一致: 应为 -, 但却获得 CLOB
    oracle 执行计划简介
    oracle job定时执行存储过程详解
    ODI 目标表主键有序列的同步处理
    ODI 同义词问题
    U盘安装redhat Linux
    ODI ora_01653 表空间无法扩展
    C#使用JSON相关
    常用查询汇总
    EXCEL中汉字转拼音
  • 原文地址:https://www.cnblogs.com/guop/p/5216836.html
Copyright © 2011-2022 走看看