使用js随机方法很简单,提前规划出来人数,最少得0.01(不能为空);
小数点相加会有异常。最好乘以100后,相加、减再除以100。
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no" /> <title>前端ABC-Js实现随机红包</title> </head> <body> <script> function ranDom(num,mnum){ var dnum = []; var lastData = []; var gding = num * 100 - mnum; var znum = 0; for(var i = 0;i < mnum - 1;i++){ dnum[i] = parseInt(Math.random() * (gding - znum)); znum += dnum[i]; }; dnum[dnum.length] = gding - znum; for(var i = 0;i < mnum;i++){ lastData[i] = (dnum[i] + 1) / 100; }; //console.log(lastData); //console.log(dnum); //console.log(znum); return lastData; }; document.write('[' + ranDom(24,10).join(',') + ']'); </script> </body> </html>