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:08

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

javascript 随机数 与高级应用 附vbscript(asp) 随机数总结_javascript技巧

一.是javascript 随机数函数Math.random()  生成指定范围的随机数 Math.random()方法没有参数,返回0~1之间的随机数,如果要生成0~n之间的随机 数,可以使用下面的格式: Math.floor(Math.random()*n) 若要生成m~n之间的随机数,可以用: Math.floor(Math.random()*n)+m 下面是运用: [Ctrl+A 全选 注:如需引入外部Js需刷新才能执行] javascript 随机数 高级应用  ①自JavaScrip

jquery.Ajax()方法调用Asp.Net后台的方法解析

 本篇文章主要是对jquery.Ajax()方法调用Asp.Net后台的方法进行了介绍,需要的朋友可以过来参考下,希望对大家有所帮助 利用JQuery的$.ajax()可以很方便的调用asp.net的后台方法. 先来个简单的实例热热身吧.   1.无参数的方法调用 asp.net code:    代码如下: using System.Web.Script.Services;      [WebMethod]    public static string SayHello()    {   

利用ASP实现事务处理的方法

事务处理|事务处理 在开发Web应用时,无一例外地需要访问数据库,以完成对数据的查询.插入.更新.删除等操作.受应用逻辑的影响,有时需要将多条数据库操作指令组成一个工作单元(事务).在数据库中,所谓事务是指一组逻辑操作单元,它使数据从一种状态变换到另一种状态.为确保数据库中数据的一致性,应当用离散的成组的逻辑单元操作数据:当它全部完成时,数据的一致性可以保持:而当单元中的一部分操作失败时,整个事务会被全部忽略,所有从起始点以后的操作全部退回到开始状态. 实际上,在默认方式下对数据库的每一次操作都

网站安全之ASP程序加密/解密方法大揭密

安全|程序|加密|解密 如今,用ASP技术构建的网站随处可见.由于ASP脚本是在服务器上解释执行的(无法编译),因此你辛苦开发出来的ASP代码,很容易被人拷去任意修改,如何保护ASP源代码呢?这是每个ASP站长都会遇到的难题,网上求解这类问题的帖子非常多,下面我们就来谈谈ASP程序的加密方法. 一.如何加密ASP程序? 目前对ASP程序的加密方法主要有三种:脚本编码器(SRCENC.EXE)加密.组件加密.自编程序加密,下面我们就来展开介绍这三种加密方法. 1.使用微软的MS Script En

看asp源码的方法及工具20种

众所周知windows平台漏洞百出,补丁一个接一个,但总是补也补不净.我把我所知道的20种看asp源码的方法总结了一下,并且用c#写了个应用程序来扫描这些漏洞,发现虽然大部分的方法已经不起做用,但还是有一些漏网之鱼的:),结果这两天真看到不少站的源代码,包括数据库密码,如果用access的可以把库下载下来,而用sql server的如果不是用udl,dsn等来连接的话,也可以通过tcp/ip网络库连接到数据库,为所欲为呀.先面把这20种方法列在下面: .%81::DATA%2e%2e%41sp+

任意分布的随机数的产生方法—VC程序实现方法

摘要: 随机数在实际运用中非常之多,如游戏设计,信号处理,通常我们很容易得到平均分布的随机数.但如何根据平均分布的随机数进而产生其它分布的随机数呢?本文提出了一种基于几何直观面积的方法,以正态分布随机数的产生为例讨论了任意分布的随机数的产生方法. 正文: 一.平均分布随机数的产生 大家都知道,随机数在各个方面都有很大的作用,在vc的环境下,为我们提供了库函数rand()来产生一个随机的整数.该随机数是平均在0~RAND_MAX之间平均分布的,RAND_MAX是一个常量,在VC6.0环境下是这样定

CentOS 5.1下跑Mono和Asp.net的实现方法分享

下载编译环境: yum install gcc bison pkgconfig glib2-devel gettext make httpd-devel gcc-c++ libstdc++-devel 下载并解压源代码: wget http://ftp.novell.com/pub/mono/sources/mono/mono-2.6.3.tar.bz2 wget http://ftp.novell.com/pub/mono/sources/mod_mono/mod_mono-2.6.3.tar

Python实现基于权重的随机数2种方法

  这篇文章主要介绍了Python实现基于权重的随机数2种方法,本文直接给出实现代码,需要的朋友可以参考下 问题: 例如我们要选从不同省份选取一个号码,每个省份的权重不一样,直接选随机数肯定是不行的了,就需要一个模型来解决这个问题. 简化成下面的问题: 字典的key代表是省份,value代表的是权重,我们现在需要一个函数,每次基于权重选择一个省份出来 {"A":2, "B":2, "C":4, "D":10, "E&