GoodCoder666的个人博客

js产生随机数

2020-02-09 · 1 min read
JavaScript
  • 产生[0,1)[0,1)之间的随机实数,即0Math.random()<10\le\text{Math.random()}<1
Math.random()
// 返回值样例:
// #1:0.60958701902852
// #2:0.16182155144292465
// #3:0.30126821448898133
  • 随机产生[0,n][0, n]之间的整数
function randint1(n) { // 各数产生概率较平均
  return Math.round(Math.random() * n);
}

function randint2(n) { // 不可能出现n
  return Math.floor(Math.random() * n);
}

function randint3(n) { // 0的概率极小,与Math.random()产生0的概率相同
  return Math.ceil(Math.random() * n);
}
  • 产生[0,n][0, n]之间的随机一位小数
// 可能有浮点数精度误差,如:0.30000000000000004,0.7999999999999999
function randf(n) {
  return Math.round(Math.random() * n * 10) / 10;
}