Rnd 函式 (Visual Basic)
更新: 2008 年 7 月
傳回 Single 型別的亂數。
Public Shared Function Rnd[(Number)] As Single
參數
- Number
選擇項。Single 值或任何有效的 Single 運算式。
傳回值
如果 Number 是 |
Rnd 產生 |
---|---|
小於零 |
以 Number 為種子,每次都產生相同的值。 |
大於零 |
序列中的下一個亂數。 |
等於零 |
最近產生的值。 |
未提供 |
序列中的下一個亂數。 |
備註
Rnd 函式會傳回小於 1,但大於或等於零的值。
Number 值將決定 Rnd 如何產生亂數。
對於任何特定的初始種子,都會產生相同的數字序列,因為每次連續呼叫 Rnd 函式都會使用前次產生的值做為下一個值的種子。
呼叫 Rnd 前,請使用沒有引數的 Randomize 陳述式以系統計時器做為種子來初始化亂數產生器。
若要在特定範圍中產生隨機整數,請使用下列公式。
randomValue = CInt(Math.Floor((upperbound - lowerbound + 1) * Rnd())) + lowerbound
在這裡,upperbound 是範圍的最大數字,lowerbound 則是範圍的最小數字。
注意事項: |
---|
若要重複亂數的序列,可以在使用含數字引數的 Randomize 之前,立即以負引數呼叫 Rnd。以 Number 的相同值使用 Randomize 不會重複先前的順序。 |
安全性注意事項: |
---|
由於 Random 陳述式和 Rnd 函式會以種子值開始,並產生落在有限範圍內的數值,因此了解用於產生該值演算法的人員,就可預測出結果。因此,Random 陳述式和 Rnd 函式不應該用來產生用於密碼編譯的亂數。 |
範例
這個範例會使用 Rnd 函式產生 1 到 6 的亂數整數。
' Initialize the random-number generator.
Randomize()
' Generate random value between 1 and 6.
Dim value As Integer = CInt(Int((6 * Rnd()) + 1))
需求
命名空間 (Namespace)︰Microsoft.VisualBasic
**模組︰**VBMath
組件:Visual Basic Runtime Library (在 Microsoft.VisualBasic.dll 中)
請參閱
參考
變更記錄
日期 |
記錄 |
原因 |
---|---|---|
2008 年 7 月 |
修訂程式碼範例。 |
客戶回函。 |