首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > ASP >

取随机数(Int((62 - 0 + 1) * Rnd + 0)))应该如何理解啊

2012-02-05 
取随机数(Int((62 - 0 + 1) * Rnd + 0)))应该怎么理解啊??%Functiongen_key(digits)定义并初始化数组dimc

取随机数(Int((62 - 0 + 1) * Rnd + 0)))应该怎么理解啊??
<%
Function   gen_key(digits)
'定义并初始化数组
        dim   char_array(80)
'初始化数字
        For   i   =   0   To   9
                char_array(i)   =   CStr(i)
        Next
'初始化大写字母
        For   i   =   10   To   35
                char_array(i)   =   Chr(i   +   55)
        Next
'初始化小写字母
        For   i   =   36   To   61
                char_array(i)   =   Chr(i   +   61)
        Next
Randomize       '初始化随机数生成器。
do   while   len(output)   <   digits
                num   =   char_array(Int((62   -   0   +   1)   *   Rnd   +   0))
                output   =   output   +   num
        loop
'设置返回值
        gen_key         =         output
End   Function
'把结果返回给浏览器
response.write   "本实例生成的十三位随机字符串为: "
response.write   " <center> "
response.write   gen_key(13)
response.write   " </center> "
%>

请问大家下面取随机值的地方为什么要那样写啊。。。62,0,1代表了什么意思??
num   =   char_array(Int((62   -   0   +   1)   *   Rnd   +   0))

[解决办法]
公式:Int((upperbound - lowerbound + 1) * Rnd + lowerbound)
[解决办法]
比如:Int((8 - 5 + 1) * Rnd + 5) 产生 5-8 之间(包括5,8) 的随机整数
这里是 0-62, lower 是 0 迷惑了楼主了

注: Rnd 是 0 - 1 之间的随机浮点数不包括 0 和 1

热点排行