Java数字规则验证工具类


package cn.com.hyundai.mms.common;

import java.math.BigDecimal;

/**
* 数字规则验证工具
*/
public class NumberUtil {
/**
* 数字验证
*/
public static final String REG_NUMBER = "^-?((\\d{1,14})|(0{1}))(\\.\\d{1,})?$";

/**
* 小数点 前14位 后2位
*/
public static final String REG_FLOAT_14_2= "^((\\d{1,14})|(0{1}))(\\.\\d{0,2})?$";


/**
* 字符串正则 数字 校验
*


* 包含正负数和小数
*


* @param val
* @return
*/
public static boolean checkNumber(String val){
if (val!=null && val.matches(REG_NUMBER)){
return true;
}
return false;
}

/**
* 字符串正则校验
*


* 正数
* 小数点前 14 位, 后 2位
*


* @param val
* @return
*/
public static boolean checkNumberFloat_14_2(String val){
if (val!=null && val.matches(REG_FLOAT_14_2)){
return true;
}
return false;
}

/**
* 字符串转BigDecimal 默认值0
*
* @param val
* @return
*/
public static BigDecimal strToBigDecimalDefault_0(String val) {
return new BigDecimal(NumberUtil.checkNumber(val) ? val : "0.0");
}

public static void main(String[] args) {
System.out.println(checkNumber("12584.1454"));
}
}

相关