In the previous tutorial, we learned about JavaScript Math objects, there we also learned about
random()
method that can generate random numbers. In this tutorial, we will discuss the Math random method in detail because it is one of the most important and widely used JS Math methods.
Math.random()
The
Math.random()
method can generate a random number between 0 and 1, where 0 is inclusive and 1 is exclusive. This means the
random()
method always returns a value equal to and greater than 0 and less than 1.
Example
<script>
random_number = Math.random(); //random number between 0 to 0.999999
console.log(random_number); //0.717273747683947
</script>
Generate Random Integers in JavaScript
The
Math.random()
number always returns a decimal point number between 0 to 1(exclusive). But we can multiply the returned random number with an integer value to increase the range of the random number. And then roundup the number using either
Math.floor()
,
Math.ceil()
,
Math.round()
or
Math.trunc()
methods to get an integer value.
Example
<script>
//random number between 0 to 9
random_number1 = Math.floor(Math.random()*10); // round down the number
//random number between 0 to 9
random_number2 = Math.ceil(Math.random()*10); // round down up number
//random number between 0 to 9
random_number3 = Math.trunc(Math.random()*10); // remove the decimal points
//random number between 0 to 9
random_number4 = Math.round(Math.random()*10); // round number
console.log(random_number1);
console.log(random_number2);
console.log(random_number3);
console.log(random_number4);
</script>
Output(console)
8
8
2
8
Create a Random function in JavaScript
By far we have learned how to generate random numbers in JavaScript, and how to increase its range and generate random integer numbers. But by doing so we are generating only random numbers between
o
to
n-1
. Let's say we want to create an OTP application where we want to generate a random 4 digit number, how can we do that. To achieve this objective we need to define a function or logic that can generate a random number between 1000 to 9999, that covers all the 4 digits random numbers.
Example
<script>
function generate_random_num(min_val, max_val)
{
return Math.round(Math.random()*(max_val-min_val)) +min_val
}
//four digit random number
rand_4 = generate_random_num(1000, 10000);
//five digit random number 10000, 99999
rand_5 = generate_random_num(10000, 100000);
console.log("The four digit random number is: "+rand_4);
console.log("The five digit random number is: "+rand_5);
</script>
Output
The four digit random number is: 4758
The five digit random number is: 73767
Behind the code
In the above example the
Math.round(Math.random()*(max_val-min_val)) +min_val
statement will make sure that the random number always generated between
min_vlaue
(inclusive) and
max_value
(exclusive) . If you want to make both
min_val
and
max_val
inclusive, there you can use this return statement
Math.round(Math.random()*(max_val-min_val+1)) +min_val
Summary
-
The
Math.random()
method returns a random number between 0(included) to 1(excluded). - To increase the range of generated random numbers we can multiply the generated number with a max value.
- To generate a Integer random number we can round the generated random number using round(), floor(), ceil() or trunc() method.
People are also reading: