理解random()获取指定范围的公式

//公式:min是范围最小值 max是范围最大值
Math.floor(Math.random()*(max-min+1)+min)

Math.floor()将数值向下取整,比如5.6向下取整就是5,特殊的-5.6向下取整就是-6,因为-5>-5.6取-5就不是向下取整了;如果还是不理解可以到https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Math/floor

为什么乘

Math.random()*10是获取 [0,10) 的范围,要获取0到几就乘于几,需要注意的就是不包含最大值10;

为什么加

那想要不是从0开始而是10开始怎么办呢?就在获取的值基本上加10,这个10就是min最小值;

为什么减

在随机数的整体上都增加了10,在最大范围max就要减去这个数,要不然最大范围也会增加10

//例如:取10-100
Math.random()*100;//返回的就是0到100(不包含100)
//不包含10就因为在random()本身返回的随机数里不包含1
Math.random();// 0~0.99[...]

Math.random()*100+10;//返回10到110(不包含110)
//本来随机数能大概获取到100 之后又加上了10,那最大范围就是110
//所以不能 * 100 而是 * (100 - 10);

为什么要加1?

因为取不到100啊,就像Math.random()取不到1那样,只能取到99,所以最大值要获取100就要加1;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值