ASP中隨機函式Randomize的使用

2021-06-01 01:40:24 字數 1999 閱讀 5824

asp中隨機函式randomize的使用

2009-08-22 19:19

randomize

初始化隨機數生成器。

randomize [number]

number 引數可以是任何有效的數值表示式。

說明randomize 使用 number 引數初始化 rnd 函式的隨機數生成器,賦給它新的種子值。如果省略 number,則使用系統計時器返回的值作為新的種子值。

如果不使用 randomize,則第一次呼叫 rnd 函式(無引數)時,它將使用相同的數字作為種子值,隨後使用最後生成的數值作為種子值。

注意 要重複隨機數的序列,請在使用數值引數呼叫 randomize 之前,立即用負值引數呼叫 rnd。使用相同的 number 值的 randomize 不能重複先前的隨機數序列。

下面例子舉例說明如何使用 randomize 語句:

例如:dim myvalue, response

randomize '初始化隨機數生成器。

do until response = vbno

myvalue = int((6 * rnd) + 1)' 產生 1 到 6 之間的隨機數。

msgbox myvalue

response = msgbox ("roll again? ", vbyesno)

loop

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 不能重複先前的隨機數序列。

以前看過這方面的內容,今天又一次見到了,所以就總結一下,以後還要用呢!

下面給出乙個例項來說明randomize的用途:

解決防止表單重複提交的方法

表單檔案formtest.asp

<%

randomize '初始代隨機數種子

num1=rnd() '產生隨機數num1

num1=int(26*num1)+65 '修改num1的範圍以使其是a-z範圍的ascii碼,以防表單名出錯

session("antry")="test"&chr(num1) '產生隨機字串

%>

表單處理程式testact.asp

<%

teststr=request.form(session("antry"))

if teststr="" then

response.write "沒有填寫姓名或重複提交"

'由於使用者沒有填寫名字,或表單被重複提交(標誌為session("antry")為空)引起

else

response.write teststr

session("antry")=""  '提交成功,清空session("antry"),以防重複提交!!

end if

%>

在這裡,你只需隨機化乙個必填專案的表單項名即可,不必隨機化所有的表單專案。

ASP中隨機函式Randomize的使用

randomize 初始化隨機數生成器。randomize number number 引數可以是任何有效的數值表示式。說明randomize 使用 number 引數初始化 rnd 函式的隨機數生成器,賦給它新的種子值。如果省略 number,則使用系統計時器返回的值作為新的種子值。如果不使用 r...

ASP中隨機函式Randomize的使用

randomize 初始化隨機數生成器。randomize number number 引數可以是任何有效的數值表示式。說明randomize 使用 number 引數初始化 rnd 函式的隨機數生成器,賦給它新的種子值。如果省略 number,則使用系統計時器返回的值作為新的種子值。如果不使用 r...

asp中的Rnd,Randomize 函式

randomize 初始化隨機數生成器,該生成器具有基於系統計時器的種子 不帶引數的randomize語句相當於randomize timer,也就是以timer函式返回的數值作為種子計算隨機數 rnd number 返回乙個小於 1 但大於或等於 0 的值。number 的值決定了 rnd 生成隨...