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个随机数。它跟踪对于每一个值有多少个随机数产生。最后,它打印一个代表结果的条形图。

时间: 2024-09-26 22:13:05

ASP随机数RND()使用方法_应用技巧的相关文章

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: 复制代码 代码如下:respo

利用ASP实现事务处理的方法_应用技巧

 利用ASP实现事务处理的方法     选择自 AppleBBS 的 Blog   关键字   利用ASP实现事务处理的方法  出处      在开发Web应用时,无一例外地需要访问数据库,以完成对数据的查询.插入.更新.删除等操作.受应用逻辑的影响,有时需要将多条数据库操作指令组成一个工作单元(事务).在数据库中,所谓事务是指一组逻辑操作单元,它使数据从一种状态变换到另一种状态.为确保数据库中数据的一致性,应当用离散的成组的逻辑单元操作数据:当它全部完成时,数据的一致性可以保持:而当单元中的一

asp 中文乱码问题解决方法_应用技巧

不管什么语言乱码问题都存在在asp中解决乱码方法有以下几种: 如果页面显示正常,而从数据中获取的数据为乱码 UTF-8编码的话:在ASP脚本顶部加入 复制代码 代码如下: <%@Language="vbscript" Codepage="65001"%> 以及再在<head>区域中加入 复制代码 代码如下: <meta http-equiv="Content-Type" content="text/html

asp清空application的方法_应用技巧

做网站中,如果用到了大量的application会占用大量的服务器资源,所以我们在退出后台的时候可以,清空下数据,网站的运行速度也会快Application 对象实现在给定的应用程序的所有用户之间共享信息,并在服务器运行期间持久的保存数据.而且,Application 对象还有控制访问应用层数据的方法和可用于在应用程序启动和停止时触发过程的事件.  虽然 Application 对象没有内置的属性,但我们可以使用以下句法设置用户定义的属性也可称为集合. Application("属性/集合名称&

JSON在ASP.NET中使用方法_实用技巧

Json.NET的简单介绍 首先介绍一个为方便在.NET中使用JSON的API,Json.NET.它方便我们读取从浏览器流向服务器的JSON对象,也方便在响应流中写入JSON对象. Json.NET只提供了服务器端的方法,主要有实现JSON文本与XML互相转换的类,有自定义读写JSON的JsonReader类和JsonWriter类,还有一个非自定义读写JSON的JavaScriptSerializer类. ASP.NET AJAX中,服务器端由JavaScriptSerializer类的几个方

asp.net 读取配置文件方法_实用技巧

方法1: 复制代码 代码如下: System.Collections.Specialized.NameValueCollection nvc = (System.Collections.Specialized.NameValueCollection) System.Configuration.ConfigurationManager.GetSection(sectionName); string keyValue = nvc.GetValues(keyName)[0].ToString(); 方

asp.net发送邮件实现方法_实用技巧

本文实例讲述了asp.net发送邮件的实现方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: MailMessage mailMsg = new MailMessage();    //设置收件人的邮件地址    mailMsg.To = "bailichunwow@qq.com ";        //设置发送者的邮件地址    mailMsg.From = "bailichun@vip.qq.com ";    //设置邮件主题    mail

ASP 操作cookies的方法_应用技巧

方法如下: response.cookies(cookiesname)[(key)|.attribute]=value 解释如下:cookiesname是你想要的cookies的名字,比如:test 参数key:可选参数,当然,不指定也可以了.:) key用于指定词典式cookie的了cookie的名称.我的理解似乎与一个数组类似. 参数attribute可选,指定cookie本身的相关信息,比如指定特定的网址.路径.有效期等. 可选的值有:Domain 只能读取特定域名的cookie Expi

asp.net String.IsNullOrEmpty 方法_实用技巧

此方法在 .NET Framework 2.0 版中是新增的. 指示指定的 String 对象是 空引用(在 Visual Basic 中为 Nothing) 还是 Empty 字符串. 这个方法在VB,VB.Net, C#,C++,JScript,J#中都有,很好很强大的一个方法. String.Empty 字段 表示空字符串.此字段为只读. 命名空间:System 程序集:mscorlib(在 mscorlib.dll 中) 语法 Visual Basic(声明) Public Shared