2013-02-24 63 views
1

即时通讯使用随机数函数来获得两个随机数在219和1500之间。这如预期的那样工作,但是像1200和1500之间的数字一样是发生的可能性降低50%。我怎样才能做到这一点?使用Javascript来获得2个数字之间的随机数,但具体的范围不太可能

我确实尝试过首先搜索,但有很多关于随机数的信息,它很难找到与我的问题相关的任何内容。

function getRandomBase (min, max) { 


    orBase = Math.floor(Math.random() * (max - min + 1)) + min; 
    document.getElementById("box1").value = orBase; 

    newBase = Math.floor(Math.random() * (max - min + 1)) + min; 
    document.getElementById("box3").value = newBase; 


} 

Demo

+1

50%,比_normal_不太可能,或50%,比从数字范围不太可能210 - 1200? – Alnitak 2013-02-24 10:32:36

回答

3

我会尝试这样的事:

function number() { 
    var isLower = (Math.random() * 3) < 2; 
    if(isLower) { 
     return randomNumber(219,1199); 
    } else { 
     return randomNumber(1200,1500); 
    } 
} 

function randomNumber(min,max) { 
    return Math.floor(Math.random() * (max - min + 1)) + min; 
} 

更新小提琴:http://jsfiddle.net/pH3ZW/1/

+0

使用随机数字来选择使用的随机数字方法...无价!优雅的解决方案,非常感谢! – DelightedD0D 2013-02-24 10:40:18

相关问题