# 5.7. Generating a Random Number

## Problem

You want to generate a random number within a certain range.

## Solution

Use `Math.random( )`

as the basis for a custom
`randRange( )`

method.

## Discussion

You can use the `Math.random( )`

method to
generate a random floating-point number from 0 to 0.999999999. In
most cases, however, programs call for a random integer, not a random
floating-point number. Furthermore, you may want a random value
within a specific range. If you do want a random floating-point
number, you will ordinarily want to specify its precision (the number
of decimal places).

Here is the basic process for generating random numbers of this type:

Calculate the range difference and then add 1. For example, if you want to generate random numbers between 4 and 10, the range is 10-4 (which equals 6). To ensure an equal distribution, add 1 to this range.

If you want the random number to include decimal places, multiply the range by the correct multiple of 10 prior to adding 1. For example, to create random numbers with one decimal place, multiply the range by 10. To create random numbers with two decimal places, multiply the range by 100, etc.

Multiply the value from step 2 by the value returned by

`Math.random( )`

. This will give you a value between 0 and the value from step 2 (with decimal places).Use the

`Math.floor( )`

method to get the integer part of the value from step 3.Divide the result from step 4 by the same multiple of 10 that you used in step 2. For example, if you originally multiplied ...

Get *Actionscript Cookbook* now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.