公用方法如下:
/**
* @Description: 精度处理(如:%.2f表示保留后两位,它的处理方式也是直接截掉不要的尾数,不四舍五入)
* @author
* @date 2018年09月04日 20:22:44
* @param n 保留n位小数
* @param d 原浮点数
* @return 返回保留n位小数位数的字符串
*
*/
public static String formatDoubleStr(int n,double d) {
String str = String.format("%."+n+"f", d);
return str;
}
/**
* @Description: 获取组合数的百分比(各自占比和为100%)
* @author
* @date 2018年09月20日 19:15:25
* @param n 保留n位小数
* @param doubleMap 除数
* @param sum 被除数
* @return
*
*/
public static Map<String,Double> getPencentDoubleValue(int n, Map<String,Double> doubleMap, double sum) {
//为空则返回null
if(null==doubleMap||doubleMap.size()<0||sum==0){
return null;
}
//截取的n+1尾数,用于判断四舍五入的精度问题
Map<String,Double> allMap=new HashMap<>(doubleMap