/**
* Double类型的数据保留两位小数
*
* [@param](https://my.oschina.net/u/2303379) value
* [@return](https://my.oschina.net/u/556800)
*/
public static Double formatDouble2(Double value) {
if (null == value) {
value = 0d;
}
BigDecimal bg = new BigDecimal(value);
double f1 = bg.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
return f1;
}
/**
* 判断字符串是否为数字或小数
* [@param](https://my.oschina.net/u/2303379) str
* [@return](https://my.oschina.net/u/556800)
*/
public static boolean isNumeric(String str) {
Pattern pattern = Pattern.compile("[0-9]*");
if(str.indexOf(".")>0){//判断是否有小数点
if(str.indexOf(".")==str.lastIndexOf(".") && str.split("\\.").length==2){ //判断是否只有一个小数点
return pattern.matcher(str.replace(".","")).matches();
}else {
return false;
}
}else {
return pattern.matcher(str).matches();
}
}
/**
* 字符串转换为 整数
* [@param](https://my.oschina.net/u/2303379) str
* @return
*/
public static Integer getNumber(String str) {
if(StringUtil.isBlank(str)){
return 0;
}
//判断是否为数字
if(isNumeric(str)){
if(str.indexOf(".")>0){//判断是否有小数点
return Double.valueOf(str).intValue();
}
return Integer.valueOf(str);
}else{
return 0;
}
}
/**
* 转换为Long类型
* @param str
* @return
*/
public static Long getNumberLong(String str) {
if(StringUtil.isBlank(str)){
return 0l;
}
//判断是否为数字
if(isNumeric(str)){
if(str.indexOf(".")>0){//判断是否有小数点
return Double.valueOf(str).longValue();
}
return Long.valueOf(str);
}else{
return 0l;
}
}
/**
* 字符串转换为 Float 类型数字
* @param str
* @return
*/
public static Float getNumberFloat(String str) {
if(StringUtil.isBlank(str)){
return 0f;
}
//判断是否为数字
if(isNumeric(str)){
return Float.valueOf(str);
}else{
return 0f;
}
}
/**
* 字符串转换为 Float 类型数字
* @param str
* @return
*/
public static Double getNumberDouble(String str) {
if(StringUtil.isBlank(str)){
return 0d;
}
//判断是否为数字
if(isNumeric(str)){
return Double.valueOf(str);
}else{
return 0d;
}
}