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