如何使用p5.js中的random()
函数获取随机整数?
例如以下代码:
var num = random(0, 1);
console.log(num);
将十进制数输出到控制台。
如何获得随机整数?
如何使用p5.js中的random()
函数获取随机整数?
例如以下代码:
var num = random(0, 1);
console.log(num);
将十进制数输出到控制台。
如何获得随机整数?
function setup() {
var num = int(random(0, 11));
print(num);
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/p5.js/1.6.0/p5.js"></script>
解释:
random(0, 11)
返回从0到10.999999999...的数字,但永远不会返回11。
int()
将这些小数转换为整数
int(random(0, 11))
返回0到10之间的数字,包括0和10。
p5.js中的random()
函数总是返回一个浮点数(即小数)。如果你想要一个整数,可以使用JavaScript 的Math.round()
将其四舍五入到最接近的整数。
要获取0或1,最好的方法是:
Math.round(random());
你也可以使用int()将JavaScript中的数字转换为整数,但它有一个主要问题,即简单地忽略小数部分,实际上将数字四舍五入到下一个整数。
这是p5.js random()
的一个问题,因为random()
将返回从最小值到但不包括最大值的随机数。 random(0, 1)
的最大值是0.99999...,而int()
总是将其转换为0;
这意味着例如:
random()
永远不会返回1。意味着int(random())
始终返回0random(0, 15)
永远不会返回15。意味着int(random(15))
永远不会返回15round()
。 - ggorlen为什么不像这里演示的那样使用简单的JavaScript呢?
排除最大值:
function getRndInteger(min, max) {
return Math.floor(random(min, max)) + min;
}
function getRndInteger(min, max) {
return Math.floor(random(min + 1, max)) + min;
}
random(min, max)
替换Math.random() * (max - min)
即可。 - SourceOverflowvar r = Math.floor(random(0,11));
console.log(r);
-Valkyrie