共用方式為


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 中)

請參閱

參考

Randomize 函式 (Visual Basic)

數學摘要

Randomize 函式 (Visual Basic)

變更記錄

日期

記錄

原因

2008 年 7 月

修訂程式碼範例。

客戶回函。