- 帖子
- 5923
- 主題
- 13
- 精華
- 1
- 積分
- 5986
- 點名
- 0
- 作業系統
- win10
- 軟體版本
- Office 2010
- 閱讀權限
- 150
- 性別
- 男
- 來自
- 台灣基隆
- 註冊時間
- 2010-5-1
- 最後登錄
- 2022-1-23
        
|
回復 2# lyc43210 - Rnd 函數
- 傳回一型態為 Single 的值,其內容為一亂數值。
- 語法
- Rnd [(number)]
- 選擇性引數 number 可以是一型態為 Single 的值,或任何數值運算式。
- 傳回值
- 如果 number 的值是 Rnd 傳回的亂數值
- 小於 0 每次都是使用 number 當做亂數種子的相同結果。
- 大於 0 亂數序列中的下一個亂數值。
- 等於 0 最近一次產生過的亂數值。
- 省略 亂數序列中的下一個亂數值。
- 請注意
- Rnd 函數傳回的亂數值介於 0 和 1 之間,可等於 0,但不等於 1。
- number 的值會影響 Rnd 傳回亂數值的方法。
- 給定一個亂數種子後,便會產生一特定的亂數序列,因為每呼叫一次 Rnd 函數,它就會使用先前呼叫時所產生的亂數值當成新的亂數種子以產生新的亂數值。
- **********請看這裡 VBA說明中有範例 ********************************
- 在使用 Rnd 之前,最好先呼叫 Randomize 陳述式,但不要給任何引數,如此便會以作業系統的時間當作亂數種子來起始亂數產生器。
- 若想產生在某個範圍內(非 0 到 1)的亂數值,可使用下列公式:
- Int((upperbound - lowerbound + 1) * Rnd + lowerbound)
- ************************************************
- 上述公式中,upperbound 是亂數範圍的上限,而 lowerbound 則是亂數的下限。
- 附註 若想得到重覆的亂數序列,可以在呼叫 Randomize 之前先呼叫 Rnd 並且傳入一小於 0 的引數值。光是用同樣的亂數種子呼叫 Randomize 兩次的話,並不會得到兩次相同的亂數序列。
複製代碼 |
|