VBMath.Rnd Method (Single)

Returns a random number of type Single.

Namespace:  Microsoft.VisualBasic
Assembly:  Microsoft.VisualBasic (in Microsoft.VisualBasic.dll)

public static float Rnd(
	float Number


Type: System.Single
Optional. A Single value or any valid Single expression.

Return Value

Type: System.Single
If number is less than zero, Rnd generates the same number every time, using Number as the seed. If number is greater than zero, Rnd generates the next random number in the sequence. If number is equal to zero, Rnd generates the most recently generated number. If number is not supplied, Rnd generates 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 previously generated 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 the following formula.

randomvalue = CInt(Math.Floor((upperbound - lowerbound + 1) * Rnd()) + lowerbound)

Here, upperbound is the highest number in the range, and lowerbound is the lowest number in the range.


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.

Security noteSecurity Note:

Because the Random statement and the Rnd function start with a seed value and generate numbers that fall within a finite range, the results may be predictable by someone who knows the algorithm used to generate them. Consequently, the Random statement and the Rnd function should not be used to generate random numbers for use in cryptography.

This example uses the Rnd function to generate a random integer value in the range from 1 to 6.

' Initialize the random-number generator.
' Generate random value between 1 and 6.
Dim value As Integer = CInt(Int((6 * Rnd()) + 1))


Supported in: 5, 4, 3

For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.

Community Additions