新微赢技术网

标题: 新手两问:关于Rnd 函数使用及 时间的加减运算 [打印本页]

作者: 太阳神    时间: 2010-1-10 05:31
标题: 新手两问:关于Rnd 函数使用及 时间的加减运算
用rnd函数如何产生一个区间的随机数呢?

如我想随机读取一数组中的某键的值.

程序代码:
dim array
array=array(x,y,i,x,b,a,w)
 response.write(array[Rnd(array.Count)])

这样正确吗?我始终不能明白Rnd[(number)] 中mumber的作用.这样可以随机到数组中所有的键吗?


别一个问题是何对时间进行相加减呢?

在我映像中datetime的recdate型是不能相加减的,而我切看到某人用:

overtime=now+CloseDays
'CloseDays为整数,如5

这是为什么呢?

同时,如果我想对时间的加减运算小到秒,应该用什么函数呢?
即如何把时间转为unixtime的int型呢?(刚学asp翻了半天没翻到此类函数)


请路过的各位前辈们多多帮助!后生在此先谢过了!
作者: 小点点14504    时间: 2010-1-10 05:31
首先十分tianyu帮助.同时对于我迟钝的反映表示歉意!

第二个答案看明白了.

第一个答案的代码翻了下手册还是没有看懂.
有如下两小问:
第一:第三行生成了随机种子,为什么下面也没有用到它呢?何为随即种子,有何用呢?
第二:
(Ubound(arr)-0+1)这里为什么还要减零呢? 同时数字6乘以一些随机的小于1的分数,为何你就能肯定是在0-6区间呢?算式的最后又为何要再加零呢?
作者: 阳光aiq浪子    时间: 2010-1-10 05:31
程序代码:
Microsoft VBScript 编译器错误- Error '800a0408'

无效字符

/text/asp.asp, line 4

 response.write(array[Rnd(array.Count)])

这是为什么呢?
作者: 地瓜    时间: 2010-1-10 05:31
谢谢版主的回复!
但我还是不明白:
(Ubound(arr)-0+1)这里为什么还要减零呢? 同时数字6乘以一些随机的小于1的分数,为何你就能肯定是在0-6区间呢?算式的最后又为何要再加零呢?

这一小问题?

同时看了百科的那篇关于随机种子的阐述,觉得那资料似呼过时了.
作者: Nick    时间: 2010-1-10 05:31
数组中取元素用小括号,不是方括号。

随机数种子:http://baike.baidu.com/view/1127.htm

rnd的参数是种子。似乎要正的。
Randomize可以使每次生成的随机数不同。
作者: 泡个帅滴上床    时间: 2010-1-10 05:31
Q:用rnd函数如何产生一个区间的随机数呢?

A:这样

<%
dim arr
arr=Array("x","y","i","x","b","a","w")
Randomize() '随机种子
n=Int((Ubound(arr)-0+1)*Rnd()+0) '随机产生一个6—0之间的整数
response.write arr(n)
%>

Q:别一个问题是何对时间进行相加减呢?

A:时间的加减用 DateAdd(时间间隔,时间间隔数目,时间) 函数

<%
dim n
n=now()
response.write DateAdd("s",100,n) '在当前的时间上再过100秒后的时间
%>




欢迎光临 新微赢技术网 (http://bbs.weiying.cn/) Powered by Discuz! X3.2