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


Previous Section Next Section

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.

2.7.4 See Also

Section 2.0.2 in the introduction of this chapter.

    Previous Section Next Section