傳回亂數。
語法
Rnd[(number)]
備註
數字引數可以是任何有效的數值表示式。
Rnd 函式會傳回小於 1 但大於或等於 0 的值。number 的值會決定 Rnd 如何產生亂數:
表格 11-13 Rnd 函式傳回值
| 如果 number | Rnd 會產生 |
|---|---|
| 小於零 | 相同的數字,每次都使用 number 作為種子。 |
| 大於零 | 序列中的下一個亂數。 |
| 等於零 | 最近一次產生的數字。 |
| 未提供 | 序列中的下一個亂數。 |
對於任何指定的初始種子,都會產生相同的數字序列,因為每次對 Rnd 函式的後續呼叫,都會使用上一個數字作為序列中下一個數字的種子。
呼叫 Rnd 之前,請先使用沒有引數的 Randomize 陳述式,藉由根據系統計時器的種子,來初始化亂數產生器。
若要在指定的範圍內產生隨機整數,請使用以下公式:
Int((upperbound - lowerbound + 1) * Rnd + lowerbound)
此處的上限是範圍中的最高數字,下限則是範圍中的最低數字。
註:
若要重複亂數序列,請在搭配數值引數使用 Randomize 之前,先以負數引數呼叫 Rnd。搭配相同數值的 Randomize 並不會重複先前的序列。
下列範例說明 Rnd 函式如何傳回亂數:
範例 1:
Dim randomNumber Randomize ' Initialize random-number generator randomNumber = Rnd 'Output: random number between 0 and 1
範例 2:
Dim randomNumber Randomize ' Initialize random-number generator randomNumber = Rnd(-1) ' Use -1 as the seed 'Output: the same random number each time
範例 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
範例 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
範例 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