字符數字轉換保留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;
	}
}
相關文章
相關標籤/搜索