Rnd Function
Returns a random number.
Syntax
Rnd[(number)]
Remarks
The number argument can be any valid numeric expression.
The Rnd
function returns a value less than 1 but greater than or
equal to 0. The value of number determines how Rnd
generates a
random number:
Table 11-13 Rnd Function Return Values
If the number is | Rnd generates |
---|---|
Less than zero | The same number every time, using number as the seed. |
Greater than zero | The next random number in the sequence. |
Equal to zero | The most recently generated number. |
Not supplied | The next random number in the sequence. |
For any given initial seed, the same number sequence is generated because each
successive call to the Rnd
function uses the previous number as a
seed for the next number in the sequence.
Before calling Rnd
, use the Randomize statement without an argument
to initialize the random-number generator with a seed based on the system timer.
To produce random integers in a given range, use this formula:
Int((upperbound - lowerbound + 1) * Rnd + lowerbound)
Here, upperbound is the highest number in the range, and lowerbound is the lowest number in the range.
Note:
To repeat sequences of random numbers, call Rnd
with a negative
argument immediately before using Randomize with a numeric argument. Using
Randomize with the same value for number does not repeat the previous
sequence.
The following examples illustrate how the Rnd
functions return
random numbers:
Example 1:
Dim randomNumber
Randomize ' Initialize random-number generator
randomNumber = Rnd
'Output: random number between 0 and 1
Example 2:
Dim randomNumber
Randomize ' Initialize random-number generator
randomNumber = Rnd(-1) ' Use -1 as the seed
'Output: the same random number each time
Example 3:
Dim randomNumber
Randomize ' Initialize random-number generator
randomNumber = Rnd ' Generate the first random number
'Output: the first random number
randomNumber = Rnd ' Generate the next random number
'Output: the next random number
Example 4:
Dim randomNumber
Randomize ' Initialize random-number generator
randomNumber = Rnd(0) ' Generate a random number and store it
'Output: the most recently generated random number
Example 5:
Dim lowerbound, upperbound, randomNumber
lowerbound = 1
upperbound = 10
Randomize ' Initialize random-number generator
randomNumber = Int((upperbound - lowerbound + 1) * Rnd + lowerbound)
'Output: a random integer between 1 and 10