js生成指定范围的随机数

因为 Math.random() 制造的随机数范围是[0, 1)。

假设想要16到22之间的,即 m=16,n=22,m-n 得出范围是 6。把[0, 1)这个范围的随机数乘以6,范围就拓展到[0, 6)。在此基础之上再加16,范围就移动到[16, 22)。就达到目的了。

    // m <= x < n
    function randomNum(min, max) {
        var range = max - min;
        var rand = Math.random();
        var randGrow = Math.floor(rand * range); //向下取整
        return min+randGrow;
    }
    // m <= x <= n
    function randomNum(min, max) {
        var range = max - min;
        var rand = Math.random();
        var randGrow = Math.round(rand * range); //四舍五入
        return min+randGrow;
    }
    // m < x <= n
    function randomNum(min, max) {
        var range = max - min;
        var rand = Math.random();
        var randGrow = Math.round(rand * range); //四舍五入
        if(randGrow === 0) return min + 1;
        return min+randGrow;
    }
    // m < x < n
    function randomNum(min, max) {
        var range = max - min;
        var rand = Math.random();
        var randGrow = Math.round(rand * range); //四舍五入
        if(randGrow === 0) return min + 1;
        if(randGrow === max) return max -1;
        return min + randGrow - 1;
    }

  

posted @ 2018-09-18 08:42  我是格鲁特  阅读(339)  评论(0编辑  收藏  举报