java红包算法·返回List<Double>
/*红包处理过程中出现0.00以后的尾数处理办法。
先获取List<Double>数据可由red(int number, double total, double min) 获取。
获取后用red_all_count(List<Double> red_all_count)可以获取总金额,进行一个对比,红包数少误差小,生成的红包数越多,误差可能越大。
*/
//测试
public static void main(String[] args) {undefined
List<Double> ld=red(1000, 5000, 0.01);
red_all_count(ld);
}
/**
* @param red_all_count
* @return 总金额
*/
public static double red_all_count(List<Double> red_all_count){undefined
double dou=0.0;
for (Double double1 : red_all_count) {undefined
dou+=double1;
}
BigDecimal bg = new BigDecimal(dou);
double d3 = bg.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
return d3;
}
/**
list.add(total);
System.out.println("剩余金额:"+total+",本次生成红包:"+DoubleUtil.changeDoubleTwo(money));
return list;
}
文章来源: laoshifu.blog.csdn.net,作者:红目香薰,版权归原作者所有,如需转载,请联系作者。
原文链接:laoshifu.blog.csdn.net/article/details/78442968
- 点赞
- 收藏
- 关注作者
评论(0)