# 2.7 Generating Pseudorandom Numbers

NN 2, IE 3

#### 2.7.1 Problem

You want to generate a random number.

#### 2.7.2 Solution

The Math.random( ) method returns a pseudorandom number between 0 and 1. To calculate a pseudorandom integer value within a range starting with zero, use the formula:

`var result = Math.floor(Math.random( ) * (n + 1);`

where n is the highest acceptable integer of the range. To calculate a pseudorandom integer number within a range starting at a number other than zero, use the formula:

`var result = Math.floor(Math.random( ) * (n - m + 1)) + m;`

where m is the lowest acceptable integer of the range, and n is the highest acceptable integer of the range.

#### 2.7.3 Discussion

The previous examples focus on random integers, such as the kind you might use for values of a game cube (a die with numbers from 1 through 6). But you can remove the Math.floor( ) call to let the rest of the expression create random numbers with decimal fractions if you need them.

JavaScript's random number generator does not provide a mechanism for adjusting the seed to assure more genuine randomness. Thus, at best you can treat it as a pseudorandom number generator.

Section 2.0.2 in the introduction of this chapter.

 Chapter 1. Strings
 Chapter 3. Arrays and Objects
 Chapter 4. Variables, Functions, and Flow Control
 Chapter 5. Browser Feature Detection
 Chapter 6. Managing Browser Windows
 Chapter 7. Managing Multiple Frames
 Chapter 8. Dynamic Forms
 Chapter 9. Managing Events