码迷,mamicode.com
首页 > 编程语言 > 详细

Javascript 随机数 int 范围一个数 float

时间:2015-09-22 11:33:15      阅读:191      评论:0      收藏:0      [点我收藏+]

标签:

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

版权声明:本文为博主原创文章,未经博主允许不得转载。

Javascript 随机数 int 范围一个数 float

标签:

原文地址:http://blog.csdn.net/fox64194167/article/details/48650187

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!