Rnd 函數傳回一個小於1 但大於或等於0 的值。 number 的值決定了Rnd 產生隨機數的方式
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)