如何使用Dart生成随机数?
当前回答
试试这个,你可以控制最小/最大值:
注意,您需要导入省道数学库。
import 'dart:math';
void main() {
int random(int min, int max) {
return min + Random().nextInt(max - min);
}
print(random(5, 20)); // Output : 19, 5, 15.. (5 -> 19, 20 is not included)
}
其他回答
一个安全的随机API刚刚添加到dart:math
new Random.secure()
飞镖:数学 Random添加了一个安全构造函数,返回加密安全的 随机发生器,从熵源提供的读取 为每个生成的随机值嵌入。
它委托给浏览器中的window.crypto.getRandomValues()和操作系统(如服务器上的urandom)
如果你需要加密安全的随机数(例如加密),并且你在浏览器中,你可以使用DOM加密API:
int random() {
final ary = new Int32Array(1);
window.crypto.getRandomValues(ary);
return ary[0];
}
这适用于Dartium、Chrome和Firefox,但可能不适用于其他浏览器,因为这是一个实验性的API。
这对我很有用
import 'dart:math';
void main() {
Random random = Random();
int randomNumber = random.nextInt(5) + 1;
print(randomNumber);
}
把数字5换成你想要的结果
下面是生成随机数列表的代码片段
import 'dart:math';
main() {
var rng = new Random();
var l = new List.generate(12, (_) => rng.nextInt(100));
}
这将生成一个包含从0到99(包括)的12个整数的列表。
对我来说,最简单的方法是:
import 'dart:math';
Random rnd = new Random();
r = min + rnd.nextInt(max - min);
//where min and max should be specified.
感谢@adam-singer的解释。