JavaScript Program to Generate a Random Number

In this tutorial, we'll create a JavaScript program that generates a random number within a specified range using JavaScript's built-in Math functions.

Here's a simple JavaScript program to generate a random number between a specified minimum and maximum value:

// Function to generate a random number between min and max (inclusive)
function getRandomNumber(min, max) {
  return Math.floor(Math.random() * (max - min + 1)) + min;
}

// Define the range for random number generation
const min = 1;
const max = 100;

// Generate and display the random number
const randomNumber = getRandomNumber(min, max);
console.log(`Random number between ${min} and ${max}: ${randomNumber}`);

Explanation of the Code

Define the getRandomNumber Function:

function getRandomNumber(min, max) {
  return Math.floor(Math.random() * (max - min + 1)) + min;
}

This function takes two parameters: min and max, which define the range within which the random number will be generated.

Math.random():

This method returns a floating-point number between 0 (inclusive) and 1 (exclusive). For example, it might return 0.54321, 0.12345, etc.

Math.random() * (max – min + 1):

This scales the random number to the desired range. For instance, if min is 1 and max is 100, this expression will return a random number between 0 (inclusive) and 100 (exclusive).

Math.floor(…):

This method rounds down the floating-point number to the nearest integer.

Since Math.random() generates a number less than 1, adding min ensures that the final result includes the minimum value and stays within the specified range.
+ min:
This shifts the number to start at the min value. For example, if the range is between 10 and 50, this ensures that the final random number starts at 10.

Define the Range for Random Number Generation:

const min = 1;
const max = 100;

These constants set the minimum and maximum values for the random number generation.

Generate and Display the Random Number:

const randomNumber = getRandomNumber(min, max);
console.log(`Random number between ${min} and ${max}: ${randomNumber}`);

Calls the getRandomNumber function with the specified range (min and max) and stores the result in the randomNumber variable.
Uses console.log() to display the generated random number in the console.

How It Works

When you call getRandomNumber(min, max), the function calculates a random number using the formula:

Math.floor(Math.random() * (max - min + 1)) + min
Math.random() generates a random decimal between 0 and 1.

This decimal is multiplied by (max – min + 1) to stretch it to the desired range.
Math.floor() then rounds it down to the nearest whole number, ensuring it's an integer.
Adding min shifts the range to include the minimum value, ensuring the random number falls between min and max, inclusive.

Example Run

If min is 1 and max is 100, the program might output something like:

Random number between 1 and 100: 42

Customizing the Range

You can easily change the min and max values to generate random numbers in a different range. For example, to generate a random number between 50 and 200:

const min = 50;
const max = 200;

Summary

Math.random() generates a random decimal between 0 and 1.
Math.floor() rounds the number down to the nearest integer.
The formula Math.floor(Math.random() * (max – min + 1)) + min generates a random integer between min and max (inclusive).
This JavaScript program provides a flexible way to generate random numbers within any specified range.

Related posts

10 JavaScript conversion programs covering various scenarios

JavaScript Program to Check for a Leap Year

JavaScript Program to Make a Simple Calculator