新手两问:关于Rnd 函数使用及 时间的加减运算
用rnd函数如何产生一个区间的随机数呢?如我想随机读取一数组中的某键的值.
[code]
dim array
array=array(x,y,i,x,b,a,w)
response.write(array[Rnd(array.Count)])
[/code]
这样正确吗?我始终不能明白Rnd[(number)] 中mumber的作用.这样可以随机到数组中所有的键吗?
别一个问题是何对时间进行相加减呢?
在我映像中datetime的recdate型是不能相加减的,而我切看到某人用:
[quote]
overtime=now+CloseDays
'CloseDays为整数,如5
[/quote]
这是为什么呢?
同时,如果我想对时间的加减运算小到秒,应该用什么函数呢?
即如何把时间转为unixtime的int型呢?(刚学asp翻了半天没翻到此类函数)
请路过的各位前辈们多多帮助!后生在此先谢过了!
[[it] 本帖最后由 soarb 于 2008-6-27 14:58 编辑 [/it]]
[[it] 本帖最后由 soarb 于 2008-6-27 15:00 编辑 [/it]]
Microsoft VBScript 编译器错误- Error '800a0408'
无效字符
/text/asp.asp, line 4
response.write(array[Rnd(array.Count)])
[/code]
这是为什么呢? 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秒后的时间
%> 首先十分tianyu帮助.同时对于我迟钝的反映表示歉意!
第二个答案看明白了.
第一个答案的代码翻了下手册还是没有看懂.
有如下两小问:
第一:第三行生成了随机种子,为什么下面也没有用到它呢?何为随即种子,有何用呢?
第二:
(Ubound(arr)-0+1)这里为什么还要减零呢? 同时数字6乘以一些随机的小于1的分数,为何你就能肯定是在0-6区间呢?算式的最后又为何要再加零呢? 数组中取元素用小括号,不是方括号。
随机数种子:http://baike.baidu.com/view/1127.htm
rnd的参数是种子。似乎要正的。
Randomize可以使每次生成的随机数不同。 谢谢版主的回复!
但我还是不明白:
(Ubound(arr)-0+1)这里为什么还要减零呢? 同时数字6乘以一些随机的小于1的分数,为何你就能肯定是在0-6区间呢?算式的最后又为何要再加零呢?
这一小问题?
同时看了百科的那篇关于随机种子的阐述,觉得那资料似呼过时了.
页:
[1]
