Funzione Rnd

Restituisce un numero casuale.

Sintassi

Rnd[(number)]

Note

L'argomento (number) può essere qualsiasi espressione numerica valida.

La funzione Rnd restituisce un valore minore di 1 ma maggiore o uguale a 0. Il valore del numero determina il modo in cui Rnd genera un numero casuale:

Tabella 11-13 Valori restituiti dalla funzione Rnd

Se il numero è La funzione Rnd genera
Minore di zero Ogni volta lo stesso numero, utilizzando l'argomento number come valore iniziale.
Maggiore di zero Il numero casuale successivo nella sequenza.
Uguale a zero Il numero generato più di recente.
Non specificato Il numero casuale successivo nella sequenza.

Per qualsiasi valore iniziale, viene generata la stessa sequenza numerica perché ogni chiamata successiva alla funzione Rnd utilizza il numero precedente come numero iniziale per il numero successivo nella sequenza.

Prima di chiamare Rnd, utilizzare l'istruzione Randomize senza argomenti per inizializzare il generatore di numeri casuali con un numero iniziale basato sul timer di sistema.

Per generare numeri interi casuali in un determinato intervallo, utilizzare la seguente formula:

Int((upperbound - lowerbound + 1) * Rnd + lowerbound)

In questo esempio, la parola chiave upperbound corrisponde al numero più alto dell'intervallo, mentre la parola chiave lowerbound corrisponde al numero più basso dell'intervallo.

Nota:

Per ripetere sequenze di numeri casuali, chiamare Rnd con un argomento negativo prima di utilizzare Randomize con un argomento numerico. L'utilizzo di Randomize con lo stesso valore per l'argomento number non ripete la sequenza precedente.

Negli esempi seguenti viene illustrato come le funzioni Rnd restituiscono numeri casuali.

Esempio 1

Dim randomNumber
Randomize  ' Initialize random-number generator
randomNumber = Rnd
'Output: random number between 0 and 1

Esempio 2

Dim randomNumber
Randomize  ' Initialize random-number generator
randomNumber = Rnd(-1)  ' Use -1 as the seed
'Output: the same random number each time

Esempio 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

Esempio 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

Esempio 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