Rnd 函數
描述
返回一個隨機數。
語法
Rnd[(number)]
number 參數可以是任意有效的數值表達式。
說明
Rnd 函數返回一個小於 1 但大於或等於 0 的值。 number 的值決定了 Rnd 生成隨機數的方式:
如果 number 為 Rnd 生成
小於零 每次都相同的值,使用 number 作為種子。
大於零 序列中的下一個隨機數。
等於零 最近生成的數。
省略 序列中的下一個隨機數。
因每一次連續調用 Rnd 函數時都用序列中的前一個數作為下一個數的種子,所以對於任何最初給定的種子都會生成相同的數列。
在調用 Rnd 之前,先使用無參數的 Randomize 語句初始化隨機數生成器,該生成器具有基於系統計時器的種子。
要產生指定范圍的隨機整數,請使用以下公式:
Int((upperbound - lowerbound + 1) * Rnd + lowerbound)
這裡, upperbound 是此范圍的上界,而 lowerbound 是此范圍內的下界。
--------------------------------------------------------------------------------
注意 要重復隨機數的序列,請在使用數值參數調用 Randomize 之前,立即用負值參數調用 Rnd。使用同樣 number 值的 Randomize 不能重復先前的隨機數序列。
---------------------------------
舉例:
我們通常使用now()來做種子,這樣可以得到比較完美的隨機序列,如果我們需要1-100內的一個隨機數
Randomize()
n=Int((100-1+1)*Rnd(now())+1)