Flutter/Dart:生成最小值和最大值之间的随机数

2022-04-27 15:36:09 浏览数 (1)

Flutter/Dart:生成最小值和最大值之间的随机数

在 Dart(以及 Flutter)中生成给定范围内的随机整数的几个示例。

示例 1:使用 Random().nextInt() 方法

代码语言:javascript复制
import 'dart:math';

randomGen(min, max) {
  //nextInt 方法生成一个从 0(包括)到 max(不包括)的非负随机整数
  var x = Random().nextInt(max)   min;

  //如果您不想返回整数,只需删除 floor() 方法
  return x.floor();
}

void main() {
  int a = randomGen(1, 10);
  print(a);


}

输出:

代码语言:javascript复制
8 // you may get 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10)

您得到的结果可能包含最小值、最大值或此范围内的值。

示例 2:使用 Random.nextDouble() 和 floor() 方法

代码:

代码语言:javascript复制
import 'dart:math';

randomGen(min, max) {
  // nextDouble() 方法返回一个介于 0(包括)和 1(不包括)之间的随机数
  var x = Random().nextDouble() * (max - min)   min;

  // 如果您不想返回整数,只需删除 floor() 方法
  return x.floor();
}

// Testing
void main() {
  // with posstive min and max
  print(randomGen(10, 100));
  
  // with negative min 
  print(randomGen(-100, 0));
}

输出(输出当然是随机的,每次重新执行代码时都会改变)。

代码语言:javascript复制
47
-69

您得到的结果可能会包含 min 但绝不会包含 max。

0 人点赞