/** * 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; } }