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