关于生成所需位数的随机数的问题

hongyanyufei 2004-12-05 11:54:54
Rem 生成所需位数的随机数(随机数为字符串类型格式)
Public function CreateRan(LenBit)
Randomize
dim LenBit_tmpnum,LenBit_tmp
if not isNumeric(LenBit) then Exit function
LenBit_tmpnum=empty
for i=1 to LenBit
LenBit_tmp=LenBit_tmp&9
next
CreateRan=Cstr(int(LenBit_tmp*rnd))
Do while Len(CreateRan)<>Clng(LenBit)
CreateRan=Cstr(int(LenBit_tmp*rnd))
Loop
End function

刚接触ASP不久,菜鸟一个。对于这个代码,有如下问题,请帮忙解答一下,先谢了:)
1、 LenBit_tmp=LenBit_tmp&9是什么意思?&是连字符还是与运算?LenBit_tmp的默认值是什么?
2、Do while循环是在For循环外还是在For循环内?

...全文
202 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
hongyanyufei 2004-12-08
  • 打赏
  • 举报
回复
呵呵,不好意思,自己顶一下
wen1818 2004-12-05
  • 打赏
  • 举报
回复
<%

function Random(m)
Randomize
for i=1 to m
Random=Random&cint(rnd*9)
next
end function
%>
iuhxq 2004-12-05
  • 打赏
  • 举报
回复
我以前写过一个这样的函数呀!!!

晕,再帮你写一次吧
<%
response.write myRnd(10)

function myRnd(l)
Randomize
for i=1 to l
myRnd=myRnd&cint(rnd*9)
next
end function
%>
madpolice 2004-12-05
  • 打赏
  • 举报
回复
连接运算符 (&)
请参阅
连接运算符 | 运算符优先级 | 运算符总结
要求
版本 1
强制两个表达式进行字符串连接。

result = expression1 & expression2
参数
result
任意变量。
expression1
任意表达式。
expression2
任意表达式。
说明
任一 expression 不是字符串时,它将被转换为 String 子类型。如果两个表达式都为 Null,result 也为 Null。然而,如果仅有一个 expression 为 Null,则它和其他表达式连接时,按零长度字符串("") 处理。任何表达式为 Empty 时也按零长度字符串处理。

要求
版本 1

请参阅
连接运算符 | 运算符优先级 | 运算符总结



--------------------------------------------------------------------------------

© 2001 Microsoft Corporation. 保留所有权利。

elong2004 2004-12-05
  • 打赏
  • 举报
回复
错了,刚刚试了一下,LenBit_tmp&9 表示字符连接,不好意思
madpolice 2004-12-05
  • 打赏
  • 举报
回复
补充上面的回答

LenBit_tmp的默认值是什么?
是empty,empty是vbscript关键字,Empty 关键字用于指明未初始化的变量值。此关键字与 Null 并不相同。
madpolice 2004-12-05
  • 打赏
  • 举报
回复
LenBit_tmp=LenBit_tmp&9是什么意思?
是字符串连接,数字9当成字符串。

&是连字符还是与运算?
是连接字符串

LenBit_tmp的默认值是什么?
上面写了是empty,empty是vbscript关键字,Empty 关键字用于指明未初始化的变量值。此关键字与 Null 并不相同。

Do while循环是在For循环外还是在For循环内?
外,因为for跟next之间的是循环体。
elong2004 2004-12-05
  • 打赏
  • 举报
回复
if not isNumeric(LenBit) then Exit function
表示不是数字就退出返回
LenBit_tmp&9 是表示与运算!
do while 在 for 之外
skyboy0720 2004-12-05
  • 打赏
  • 举报
回复
字符串连接
hongyanyufei 2004-12-05
  • 打赏
  • 举报
回复
谢谢大家了:)
再接着问,呵呵:)
假设传入的参数LenBit是5的话,那么CreateRan=Cstr(int(LenBit_tmp*rnd))这句是不是生成一个0-99999之间的一个整数?那么Do while那段语句有什么用呢?Len(CreateRan)<>Clng(LenBit)应该是判断CreateRan的位数是不是5(LenBit)?实际上这只能生成一个10000-99999之间的一个整数是不?

28,409

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧