home | O'Reilly's CD bookshelfs | FreeBSD | Linux | Cisco | Cisco Exam

### 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.