自己写的校验String型数字整数、小数长度的函数

本文介绍了一种方法来验证给定的浮点数是否符合特定格式要求,包括整数部分长度、小数部分长度及精确匹配等。通过使用Java的DecimalFormat类和其他内置函数,该方法能够准确地判断一个字符串表示的数字是否满足预设的格式。

 

/**  
* Validate a double number  
*  
 * 
@param num Need to validate number  
@param intPart Integer length  
@param decPart Decimal length  
@param exactMatch Is exact match decimal  
@return If the match, returns true, otherwise return false  
*/
 
public static boolean numberValidate(String num, int intPart, int decPart,   boolean exactMatch) 
{  
    
try {   
         
if (num.trim().equals("")) {    
                    
return false;   }
   
         Double dnum 
= new Double(num);   
         String pattern 
= "";   
         
for (int i = 0; i < intPart; i++{    
                 pattern 
= pattern + "#";   }
   
         java.text.DecimalFormat nf 
= new java.text.DecimalFormat(pattern);   
         nf.setMaximumIntegerDigits(intPart);   
         nf.setMaximumFractionDigits(
0);   
         String snum 
= nf.format(dnum.intValue());   
         
         
// int   
         int inum = Integer.parseInt(snum);   
         
if (inum != Double.valueOf(num).intValue()) {    
                 
return false;   
             }
   
             
// dec   
             if (num.indexOf("."!= -1{     
                     String sdec 
= num.split("[.]")[1];    
                     
if (exactMatch && (sdec.length() > decPart)) {     
                             
return false;    
                     }
   
             }
  
      }
 catch (Exception ex) {   
              
return false;  
      }
   
      
return true
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值