生成随机数
帮人做了个抽奖的程序,之前没用过随机数,现在总结一下
Math.random()可以随机生成[0,1)之间的数,但是它生成的数会有很多位,不是只有一位数:
如果将[0,1)乘10,就可以得到[0,10)之间的数,比如 0.xxxx 1.xxxx 2.xxxx 此时用floor()截掉小数部分,就能得到0,1,2,....,9
现在需求是抽取编号1-8,所以可以先生成 1.xxxx 2.xxxx 一直到 8.xxxxx 的随机数 ,然后用floor(),就得到1,2,3,...,8
所以需要的区间是[1,9) , 而从[0,1)得到[1,9)只需要 *8+1
最终结果就是 Math.floor(Math.random()*8+1)
(上图那个圆圈2,代表有两个7)
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步