How to Generate a Random Number Between Two Numbers in JavaScript
- Generate a Random Number Between 1 and User-Defined Value in JavaScript
- Generate a Random Number Between Two Numbers in JavaScript
This tutorial will learn how to generate a random number between two numbers in JavaScript. We will use the method Math.random()
that generates a random floating number between 0.0
and 0.999
.
Generate a Random Number Between 1 and User-Defined Value in JavaScript
We can generate a random number in JavaScript using a random number generator - Math.random()
, by multiplying the generated float number with the maximum number we want to generate. Math.random()* max
generates a random number between 0 and max
.
function generateRandom(max) {
return Math.random() * max;
}
console.log('1st try: ' + generateRandom(5));
console.log('2nd try: ' + generateRandom(5));
console.log('3rd try: ' + generateRandom(5));
console.log('4th try: ' + generateRandom(5));
Output:
1st try: 3.3202340813091347
2nd try: 1.9796467067025836
3rd try: 3.297605748406279
4th try: 1.1006700756032417
If we want to get only the result in integer format, we can use Math.floor()
, this method returns the largest integer less than or equal to the input number.
console.log(Math.floor(1.02));
console.log(Math.floor(1.5));
console.log(Math.floor(1.9));
console.log(Math.floor(1));
Output:
1
1
1
1
By using the Math.floor()
method we can get our randomly generated integers,
function generateRandomInt(max) {
return Math.floor(Math.random() * max);
}
console.log('1st Integer try: ' + generateRandomInt(9));
console.log('2nd Integer try: ' + generateRandomInt(9));
console.log('3rd Integer try: ' + generateRandomInt(9));
console.log('4th Integer try: ' + generateRandomInt(9));
Output:
1st Integer try: 8
2nd Integer try: 5
3rd Integer try: 7
4th Integer try: 0
Generate a Random Number Between Two Numbers in JavaScript
If we also want to have a user-defined minimum value, we need to change the equation of Math.random() * max
to Math.random() * (max-min)) +min
. Using this equation the returned value is a random number between min
and max
.
function generateRandomInt(min, max) {
return Math.floor((Math.random() * (max - min)) + min);
}
console.log('1st min and max try: ' + generateRandomInt(2, 9));
console.log('2nd min and max try: ' + generateRandomInt(2, 9));
console.log('3rd min and max try: ' + generateRandomInt(2, 9));
console.log('4th min and max try: ' + generateRandomInt(2, 9));
Output:
1st min and max try: 6
2nd min and max try: 2
3rd min and max try: 8
4th min and max try: 3
In case we are interested in having the max
value to be included in our random generator scope, we need to change the equation to (Math.random() * (max+1 - min)) +min
. Adding 1 to max-min
will include the max in range and Math.floor()
will always guarantee that this value is not more than the max
.
function generateRandomInt(min, max) {
return Math.floor((Math.random() * (max + 1 - min)) + min);
}
console.log('1st min and max included try: ' + generateRandomInt(2, 9));
console.log('2nd min and max included try: ' + generateRandomInt(2, 9));
console.log('3rd min and max included try: ' + generateRandomInt(2, 9));
console.log('4th min and max included try: ' + generateRandomInt(2, 9));
Output:
1st min and max included try: 3
2nd min and max included try: 7
3rd min and max included try: 9
4th min and max included try: 6