java红包算法·返回List<Double>

举报
红目香薰 发表于 2022/01/22 00:54:25 2022/01/22
【摘要】 /*红包处理过程中出现0.00以后的尾数处理办法。 先获取List<Double>数据可由red(int number, double total, double min) 获取。 获取后用red_all_count(List<Double> red_all_count)可以获取总金额,进行一个对比,红包数少...

/*红包处理过程中出现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

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。