/**
* 字符串 千位符 保留两位小数点后两位
*
* @param num
* @return
*/
public static String num2thousand00(String num) {
if (!isNumeric(num)) {//如果不是数字则直接返回
return num;
}
String numStr = "";
if (isEmpty(num)) {
return numStr;
}
DecimalFormat df = new DecimalFormat("#,##0.00");
//使用BigDecimal 进行格式化 防止出现数据过大 进行千分位格式化 并且保留2位小数
numStr = df.format(new BigDecimal(num));
return numStr;
}
public static boolean isNumeric(String str) {
Pattern pattern = Pattern.compile("-?[0-9]+.?[0-9]+");
Matcher isNum = pattern.matcher(str);
if (!isNum.matches()) {//先按照正则表达式判断是否符合数字规则
try{
Double.parseDouble(str);//为防止出现科学计数法匹配不上正则的问题这里试着转化下
return true;
}catch (Exception e){
return false; //既不是普通数字 也不是科学计数法则返回false
}
}
return true;
}