数字格式验证

本文介绍了一个用于数字验证的工具类,包含多种方法如验证是否为零、正整数、任意整数等,并提供了详细的实现代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

package com.tht.common.arithmetic.math;

/**
 * Created by IntelliJ IDEA.
 * User: liuwen
 * Date: 2010-11-2
 * Time: 19:44:32
 * To change this template use File | Settings | File Templates.
 * 数字的验证类
 */
public class ThtDigit {



    /**
       * 判断0,支持格式  0,-0,00.00,-00.000
       * @param str
       * @return
       */
      public static boolean isZero(int str){
          return 0==str;
      }

      /**
       * 判断0,支持格式  0,-0,00.00,-00.000
       * @param str
       * @return
       */
       public static boolean isZero(double str){
          return 0==str;
       }

      /**
       * 判断0,支持格式  0,-0,00.00,-00.000
       * @param str
       * @return
       */
       public static boolean isZero(String str){
           if(isNumeric(str)){
               return isZero(Double.parseDouble(str));
           }
           return false;
       }
    


    /**
         * 正整数
         * @param str
         * @return
         */
          public static boolean isPositiveInteger1(String str){
            if(str==null || str=="" || "-".equals(str) || ".".equals(str) || "0".equals(str)){
                return false;
            }


            for (int i = str.length(); --i >= 0;) {
                if (!Character.isDigit(str.charAt(i))) {
                    return false;
                }
            }
            return true;
        }


      /**
       * 正整数和0
       * @param str
       * @return
       */
        public static boolean isPositiveInteger(String str){
          if(str==null || str=="" || "-".equals(str) || ".".equals(str)){
              return false;
          }


          for (int i = str.length(); --i >= 0;) {
              if (!Character.isDigit(str.charAt(i))) {
                  return false;
              }
          }
          return true;
      }


      /**
          * 验证是任意的整数
          * @param str
          * @return
          */
         public static boolean isInteger(String str) {
             if(str==null || str=="" || "-".equals(str) || ".".equals(str)){
                 return false;
             }


             /**
              * 如果第一个字符是  -  就移除
              */
             if(str.indexOf("-")==0){
                 if(str.length()>1){
                      str=str.substring(1);
                 }
             }
             for (int i = str.length(); --i >= 0;) {
                 if (!Character.isDigit(str.charAt(i))) {
                     return false;
                 }
             }
             return true;
         }

      /**
       * 判断任意非负数字 即: 0和,正数字,不可以是-0
       * @param str
       * @return
       */
      public static boolean isDigit(String str){
          if(str==null || str=="" || "-".equals(str) || ".".equals(str)){
              return false;
          }
          /**
           * 如果含有字符.就把第一个.去掉
           */
          int index=str.indexOf(".");
          if(index!=-1){
              if(str.length()-1>index){
                   str=str.substring(0,index)+str.substring(index+1);
              }else{
                     str=str.substring(0,str.length()-1);
              }

          }



          for (int i = str.length(); --i >= 0;) {
              if (!Character.isDigit(str.charAt(i))) {
                  return false;
              }
          }
          return true;
      }

      /**
       * 验证是任意的数字
       * @param str
       * @return
       */
      public static boolean isNumeric(String str) {
          if(str==null || str=="" || "-".equals(str) || ".".equals(str)){
              return false;
          }
          /**
           * 如果含有字符.就把第一个.去掉
           */
          int index=str.indexOf(".");
          if(index!=-1){
              if(str.length()-1>index){
                   str=str.substring(0,index)+str.substring(index+1);
              }else{
                     str=str.substring(0,str.length()-1);
              }

          }


          /**
           * 如果第一个字符是  -  就移除
           */
          if(str.indexOf("-")==0){
              if(str.length()>1){
                   str=str.substring(1);
              }
          }
          for (int i = str.length(); --i >= 0;) {
              if (!Character.isDigit(str.charAt(i))) {
                  return false;
              }
          }
          return true;
      }
    
}
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值