This topic has not yet been rated - Rate this topic

6.1.2.10.1.6 Rnd

Function Declaration

Function Rnd(Optional Number As Variant) As Single

Parameter

Description

Number

Single containing any valid numeric expression.

Runtime Semantics.

  • Returns a Single containing a random number, according to the following table:

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

  • The Rnd function returns a value less than 1 but greater than or equal to zero.

  • The value of Number determines how Rnd generates a random number:

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

  • An implementation is only required to repeat sequences of random numbers when Rnd is called with a negative argument before calling Randomize with a numeric argument. Using Randomize without calling Rnd in usch a way yields implementation-defined results.

  • The Rnd function necessarily generates numbers in a predictable sequence, and therefore is not required to use cryptographically-random number generators.

Did you find this helpful?
(1500 characters remaining)