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})?$";
/**
* 字符串正则 数字 校验
* <p>
* 包含正负数和小数
* </p>
* @param val
* @return
*/
public static boolean checkNumber(String val){
if (val!=null && val.matches(REG_NUMBER)){
return true;
}
return false;
}
/**
* 字符串正则校验
* <p>
* 正数
* 小数点前 14 位, 后 2位
* </p>
* @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"));
}
}
作者:SpringWater
出处:https://www.cnblogs.com/springwater/
本博客所有文章仅用于学习、研究和交流目的,欢迎非商业性质转载。
博主的文章没有高度、深度和广度,只是凑字数。由于博主的水平不高,不足和错误之处在所难免,希望大家能够批评指出。
博主是利用读书、参考、引用、抄袭、复制和粘贴等多种方式打造成自己的文章,请原谅博主成为一个无耻的文档搬运工!