Math.random()函数

取值范围在最大值max: 6.4884 最小值min: 6.4869 用Math.random()函数生成随机数在6.4884与6.4869之间,怎么写

阅读 2.2k
3 个回答
function random(lower, upper){
    lower = +lower || 0
    upper = +upper || 0
    return Math.random() * (upper - lower) + lower;
}
+String(random(6.4869,6.4884)).replace(/^(.*\..{4}).*$/,"$1")

可以换种思路
1 先生成6.4869至6.4884之间数用数组arr存储起来
2 Math.random 生成随机数. 随机数范围应该是 0到arr.length➖1之间
3 生成整数索引,返回当前值

var generator = function(min, max, base){
    var start = min * base;
    var end = max * base;
    var arr = [];
    for(var i = start; start<end; start ++) {
        arr.push(start / base);
    }
    return function (){
        return arr[Math.floor(Math.random() * arr.length)];
    }
}
var g = generator(6.4869, 6.4884, 10000);
g();
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题