如何使用Dart生成随机数?


当前回答

该方法生成随机整数。最小值和最大值都包含在内。

确保你在文件中添加了这一行:import 'dart:math';然后你可以添加并使用这个方法:

int randomInt(int min, int max) {
return Random().nextInt(max - min + 1) + min;
}

因此,如果你调用randomInt(-10,10),它将返回一个介于-10和10之间的数字(包括-10和10)。

其他回答

使用省道发生器,用于产生数字或值的序列。

 main(){ 
       print("Sequence Number");
       oddnum(10).forEach(print);
     }
    Iterable<int> oddnum(int num) sync*{
     int k=num;
     while(k>=0){
       if(k%2==1){
        yield k;
       }
      k--;
     } 
}

使用dart:math中的随机类:

import 'dart:math';

main() {
  var rng = Random();
  for (var i = 0; i < 10; i++) {
    print(rng.nextInt(100));
  }
}

在撰写本文时,这段代码已经使用Dart VM和dart2js进行了测试。

这对我很有用

import 'dart:math';

void main() {

  Random random = Random();
  int randomNumber = random.nextInt(5) + 1;
  print(randomNumber);

}

把数字5换成你想要的结果

如果你需要加密安全的随机数(例如加密),并且你在浏览器中,你可以使用DOM加密API:

int random() {
  final ary = new Int32Array(1);
  window.crypto.getRandomValues(ary);
  return ary[0];
}

这适用于Dartium、Chrome和Firefox,但可能不适用于其他浏览器,因为这是一个实验性的API。

另一种解决方案可以使用以下代码random。这个类应该与种子一起使用。它提供了一个熟悉的。net接口,它是从mono的Random.cs移植过来的。此代码可能不是加密安全的,并且没有经过统计测试。