How do I generate random numbers in Dart?
How do I generate random numbers using Dart?
Solution 1:
Use Random
class from dart:math
:
import 'dart:math';
main() {
var rng = new Random();
for (var i = 0; i < 10; i++) {
print(rng.nextInt(100));
}
}
This code was tested with the Dart VM and dart2js, as of the time of this writing.
Solution 2:
You can achieve it via Random
class object random.nextInt(max)
, which is in dart:math
library. The nextInt()
method requires a max limit. The random number starts from 0
and the max limit itself is exclusive.
import 'dart:math';
Random random = new Random();
int randomNumber = random.nextInt(100); // from 0 upto 99 included
If you want to add the min limit, add the min limit to the result
int randomNumber = random.nextInt(90) + 10; // from 10 upto 99 included
Solution 3:
Here's a snippet for generating a list of random numbers
import 'dart:math';
main() {
var rng = new Random();
var l = new List.generate(12, (_) => rng.nextInt(100));
}
This will generate a list of 12 integers from 0 to 99 (inclusive).
Solution 4:
A secure random API was just added to dart:math
new Random.secure()
dart:math
Random
added asecure
constructor returning a cryptographically secure random generator which reads from the entropy source provided by the embedder for every generated random value.
which delegates to window.crypto.getRandomValues()
in the browser and to the OS (like urandom
on the server)
Solution 5:
try this, you can control the min/max value :
import 'dart:math';
void main(){
random(min, max){
var rn = new Random();
return min + rn.nextInt(max - min);
}
print(random(5,20)); // Output : 19, 6, 15..
}