字符数字转换保留2位小数

/**
 * 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;
	}
}
相关文章
相关标签/搜索