Javascript 随机数 int 范围一个数 float

1.随机取int范围一个数,比如0-3中取0,1,2,3,同时包含0和3


<script>
  
var rand = {};
rand.getInt = function (begin,end){
 return Math.floor(Math.random()*(end-begin + 1)) + begin;
}
var v = rand.getInt(0,3)
alert(v);

</script>


常见错误写法:

<script>
  
var rand = {};
rand.getInt = function (begin,end){
 return Math.floor(Math.random()*(end-begin)) + begin;
}
var v = rand.getInt(0,3)
alert(v);

</script>

因为javascirpt的Math.random()的范围是[0,1),包含0,不包含1,错误写法中,因为Math.floor是向下取整,所以:

Math.floor([0,1) * 3) + 0 的取值范围是[0,1,2],永远取不到3.

2.随机取float范围一个数

<script>
  
var rand = {};
rand.get = function (begin,end,precision){
 return (Math.random()*(end-begin) + begin).toFixed(precision);
}
var v = rand.get(0,3,2)
alert(v);

</script>

这样取不到3,也是个问题,没有什么好办法吗?

http://www.waitingfy.com/archives/1760

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

瓦力冫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值