自動化工作中常常遇到因資料重複使業務無法提交的問題,我想到了利用隨機數來解決這個問題,下面對vbs生成隨機數做下解析:
一、randomize語句
randomize :初始化隨機數生成器。
語法 :randomize [number]
可選的 number 引數是 variant 或任何有效的數值表示式。
說明:
randomize 用 number 將 rnd 函式的隨機數生成器初始化,該隨機數生成器給 number 乙個新的種子值。如果省略 number,則用系統計時器返回的值作為新的種子值。
如果沒有使用 randomize,則(無引數的)rnd 函式使用第一次呼叫 rnd 函式的種子值。
二、rnd函式
語法:rnd[(number)]
可選的 number 引數是 single 或任何有效的數值表示式。
函式返回值:
如果 number 的值小於 0, 則每次都使用 number 作為隨機數種子返回相同結果。
如果 number 的值大於 0, 則返回序列中的下乙個隨機數。
如果 number 的值等於 0, 則返回最近生成的數。
如果省略 number 引數則返回序列中的下乙個隨機數。(即預設number大於0)
說明:
rnd 函式返回小於 1 但大於或等於 0 的值。
number 的值決定了 rnd 生成隨機數的方式。
對最初給定的種子都會生成相同的數列,因為每一次呼叫 rnd 函式都用數列中的前乙個數作為下乙個數的種子。
在呼叫 rnd 之前,先使用無引數的 randomize 語句初始化隨機數生成器,該生成器具有根據系統計時器得到的種子。
為了生成某個範圍內的隨機整數,可使用以下公式:
int((upperbound - lowerbound + 1) * rnd + lowerbound)
這裡,upperbound 是隨機數範圍的上限,而 lowerbound 則是隨機數範圍的下限。
j舉例如下:
funtion getrandommath(m,n)注意:若想得到重複的隨機數序列,在使用具有數值引數的 randomize 之前直接呼叫具有負引數值的 rnd。使用具有同樣 number 值的 randomize 是不會得到重複的隨機數序列的。randomize
getrandommath = int(((n-m+1) * rnd) + m)
end function
msgbox getrandommath(20,30)
三、獲取隨機整數
num=randomnumber.value(startnum,endnum) 或者num=randomnumber.value(parameter)
隨機生成隨機數
現畫乙個command命令按鈕,進行貼上。private sub command1 click show me scale 0,0 18,8 me.auto redraw true me.draw mode 2 circle 3,4 3,vb red me.auto redraw false lin...
隨機數生成
原型 void srand unsigned seed 用法 srand和rand 配合使用產生偽隨機數序列。rand函式在產生隨機數前,需要系統提供的生成偽隨機數序列的種子,rand根據這個種子的值產生一系列隨機數。如果系統提供的種子沒有變化,每次呼叫rand函式生成的偽隨機數序列都是一樣的。sr...
生成隨機數
1 生成num位數驗證碼 用於簡訊驗證功能 public static random rand new random public static string getcode int num result,s k return result random r new random 建立乙個隨機數生成...