生成任意范围的随机数/颜色

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了生成任意范围的随机数/颜色相关的知识,希望对你有一定的参考价值。

1, 生成任意范围的随机数,假设生成数起始位置是startNum , 结束位置是endNum;  (startNum ~ endNum). 因为Math.random() 方法只生成换成(0~1) 之间的随机数,所以,(startNum ~ endNum)要向(0~1)进行转换。 startNum +(0 ~ endNum-startNum), 后面的括号中有0了, 已经进了一步了,那怎么得到1? 任何数除以它本身都得1, 0除以任何数都得0 , 后面的括号中都除以(endNUm-startNum), 然后再在外面乘以 (endNUm-startNum);   startNum +(0 ~ 1)*endNum-startNum; 这时得到的是小数,Math.round/parseInt  都可以进行取整。

function getRandomNum(startNum, endNum){
    return Math.round(startNum + Math.random() *(endNum -startNum));
}

2, 生成一个随机颜色; 颜色用16进制表示, 那就生成16进制内的任意一随机数,0Xfffff 表示16进制内的最大数, Math.random() * 0Xffffff 就是返回16 进制内的任意一个数,不过它是一个10进制的数, 当然不要忘记取整(下面的<<0 表示取整),还要把它转换成16 进制。

function getcolor(){
    return "#" +(Math.random()*0Xffffff<<0).toString(16);  // 在js中,任何算术计算都转换成10进制进行计算。
}

 

以上是关于生成任意范围的随机数/颜色的主要内容,如果未能解决你的问题,请参考以下文章

请问java生成任意位数的随机数

在给定任意颜色范围的情况下均匀分布画布渐变颜色

UG 二次开发 grip语言 怎么生成有范围的随机数。感谢高手指点。。。

使用 PHP 随机生成颜色

生成随机颜色

如何生成特定颜色的随机阴影列表? (例如橙色的随机阴影)