一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - ASP教程 - ASP隨機數RND()使用方法

ASP隨機數RND()使用方法

2019-07-07 16:10服務器之家 ASP教程

函數RND()是一個非常重要的函數。如果你想建立一個隨機的問候語,一個日期的隨機提示,或者甚至一個游戲,你將要使用這個函數

ASP函數rnd()

函數rnd()返回一個0到1之間的隨機數。

使用方法如下:

 

復制代碼代碼如下:

response.write rnd() '其可能的返回值:0.2357746

 

如果你想用rnd()函數來返回某一范圍內的整數,比方說大于等于0而小于等于特定整數upperbound的數字,你可以使用如下方法:

 

復制代碼代碼如下:

response.write int((upperbound+1)*rnd)

 

例如,下面的語句將返回一個0和5之間的整數,包括0和5:

 

復制代碼代碼如下:

response.write int((5+1)*rnd) 

 

如果你想獲得一個處在某個范圍內的隨機數,該范圍有一個大于0的下界lowerbound,可以使用如下的方法:

 

復制代碼代碼如下:

response.write int((upperbound-lowerbound+1)*rnd+lowerbound)

 

例如,下面的腳本產生一個50到75之間的整數,包括50和75:

 

復制代碼代碼如下:

response.write int((75-50+1)*rnd+50)

 

但是,有個問題,一個隨機數產生了,但是每次都是同樣的隨機數。這也許會讓你十分不解,有一個特殊的語句可以幫助解決這個問題,那就是randomize語句。

randomize語句用來強制函數rnd使用一個新的隨機數序列。randomize語句通過計算機的系統計時器,為函數rnd提供一個新的種子值。

函數RND()是一個非常重要的函數。如果你想建立一個隨機的問候語,一個日期的隨機提示,或者甚至一個游戲,你將要使用這個函數。

函數RND()返回一個0到1之間的隨機數。這里有這個函數的一個例子及其可能的返回值:
<%=RND()%>
0.7055643
典型情況下,你更感興趣的是用這個函數來返回處在一定范圍內的整數。要返回一個大于等于0而小于某個特定整數的數字,你可以使用如下的語句:
<%=INT((upperbound+1)*RND)%>
用你想產生的最大隨機數代替表達式upperbound。例如,下面的腳本返回一個0和5之間的數,包括0和5:
<%=INT(5+1)*RND)%>
如果你想產生一個處在某個范圍內的隨機數,該范圍有一個大于0的下界,可以使用如下的腳本:
<%=INT((upperbound – lowerbound + 1)*RND+lowerbound)%>
例如,下面的腳本產生一個50到75之間的隨機數(包括50和75):
<%=INT((75-50+1)*RND+50)%>
無論何時使用函數RND(),它將以同樣的順序返回同樣的隨機數,這也許另你吃驚。考慮如下的例子:

 

復制代碼代碼如下:

<%
Pick_Greeting=INT((2+1)*RND)
SELECT CASE Pick_Greeting
CASE 0
Greeting=”Welcome!”
CASE 1
Greeting=”Hello!”
CASE 2
Greeting=”Happy to see you!”
END SELECT
%>
<%=Greeting%>

 

這個腳本建立并打印一個隨機的問候語。但是,它有可能并不按你想象的方式工作。無論何時有人下載了包含這段腳本的網頁,將有同樣的隨機問候語被打印。如果有人多次回到這個網頁,他或她將得到同樣的問候。一個隨機數產生了,但是每次都是同樣的隨機數。
有一個特殊的語句可以幫助解決這個問題。RANDOMIZE語句用來強制函數RND()使用一個新的隨機數序列。RANDOMIZE語句通過計算機的系統計時器,為函數RND()提供一個新的種子值。下面的例子顯示了如何修改上面的例子,使其正確工作:

 

復制代碼代碼如下:

<%
RANDOMIZE
Pick_Greeting=INT((2+1)*RND)
SELECT CASE Pick_Greeting
CASE 0
Greeting=”Welcome!”
CASE 1
Greeting=”Hello!”
CASE 2
Greeting=”Happy to see you!”
END SELECT
%>
<%=Greeting%>

 

這個腳本可以正確工作。每次執行這個腳本時,將會產生一個新的隨機問候。RANDOMIZE語句強制函數RND()使用新的隨機數序列。
最后,如果你對函數RND()所產生的數值的分布感到好奇,你可以用下面的腳本來確定它:

 

復制代碼代碼如下:

<%
CONST upperbound=9,iterations=100
REDIM DIST(upperbound)
RANDOMIZE
FOR i=1 to iterations
rnd_num=INT((upperbound+1)*RND)
DIST(rnd_num)=DIST(rnd_num)&”#”
NEXT
FOR i=0 to upperbound
%>
<%=i&” : “&DIST(i)%><BR>
<%
NEXT
%>

 

這段腳本在0到9之間產生100個隨機數。它跟蹤對于每一個值有多少個隨機數產生。最后,它打印一個代表結果的條形圖。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 国产日产欧产精品精品软件 | 性生大片免费看 | 国产精品高清一区二区三区不卡 | 久久精品国产清白在天天线 | 日韩免费 | 大学生宿舍飞机 free | 成年人免费观看的视频 | 98国产视频| 色男人的天堂久久综合 | 久久精品手机观看 | 成人夜视频寂寞在线观看 | 丝袜捆绑调教丨vk | 亚洲羞羞视频 | 国产福利不卡一区二区三区 | 国外成品精品1688 | 欧美日韩国产在线人成dvd | 色婷婷久| 国产亚洲精aa在线观看不卡 | 日韩精选在线 | 精品国产综合区久久久久久 | ass极品美妇pic | 日韩精品久久不卡中文字幕 | 嫩草影院永久在线播放 | 扒开女人屁股眼看个够 | 无人区在线观看免费视频国语 | 天美传媒tm0087| 欧美5g影院| 国产精品高清一区二区三区 | a级毛片毛片免费观看永久 a级黄色片免费 | 国内交换一区二区三区 | 精品国产欧美一区二区五十路 | 国产片在线看 | 国产精品久久久久久久牛牛 | 91综合精品网站久久 | 美女的隐私脱裤子无遮挡 | 婷婷影院在线观看 | 激情三级做爰在线观看激情 | 古代双性美人被老糟蹋 | 久久WWW免费人成一看片 | 国产成人一区二区三区视频免费蜜 | 我和子伦系列小说 |