请问怎样随机产生一个4位数的整数?

checkup33 2004-04-04 12:28:34
请问怎样随机产生一个4位数的整数?
谢谢!
...全文
600 24 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
24 条回复
切换为时间正序
请发表友善的回复…
发表回复
checkup33 2004-04-14
  • 打赏
  • 举报
回复
请问如何能得到一个4位数字都不相同的随机4位数?
sxsgssgs 2004-04-05
  • 打赏
  • 举报
回复
Dim rannum
randomize
rannum=int(9000*rnd)+1000
Response.Write rannum
huhan3 2004-04-05
  • 打赏
  • 举报
回复
Dim intNum
Dim intRandomize
Randomize
Do While Len(intRandomize)<4
intNum = CStr(chr((57-48)*rnd+48))
intRandomize = intRandomize & intNum
Loop
Session("VerifySecurityCode") = intRandomize
tddw 2004-04-05
  • 打赏
  • 举报
回复
为防止大家对我这个随机数有异议,
我解释一下:

rnd 取值0-1 (不包含1)
rnd*9000 取值 0-9000(不包含9000)
那么。
(rnd*9000)+1000 取值 1000-10000(但不包含10000)
所以:
取值结果,肯定是1000-9999


上面忘了,
要加一个int函数(因为你要整数)
最终结果:int(rnd*9000)+1000
tddw 2004-04-05
  • 打赏
  • 举报
回复
四位数的整数
也就是1000-9999

那么,
这样解决

(rnd*9000)+1000

因为rnd是取0-1之间的数
并且不包含1
所以,我乘9000而不乘8999
angel2a 2004-04-05
  • 打赏
  • 举报
回复
恩,看看
fishball 2004-04-04
  • 打赏
  • 举报
回复
<%
genPassword = ""
Randomize
For i = 1 to 4
intNum1 = Int(10 * Rnd + 48)
intNum2 = Int(26 * Rnd + 65)
intNum3 = Int(26 * Rnd + 97)
intRand = Int(3 * Rnd + 1)
Select Case intRand
Case 1
strPartPass = Chr(intNum1)
Case 2
strPartPass = Chr(intNum2)
Case 3
strPartPass = Chr(intNum3)
End Select
genPassword = genPassword & strPartPass
response.write(genPassWord&"<br>")
Next
%>
四位的字符串
pizixt 2004-04-04
  • 打赏
  • 举报
回复
randomize
rannum=int(90000*rnd)+10000
lawdoor 2004-04-04
  • 打赏
  • 举报
回复
这里有一个,你看看吧:
http://www.blueidea.com/bbs/archivecontent.asp?id=1034455
jiangjiewebsky 2004-04-04
  • 打赏
  • 举报
回复
最简单的方法

<%
Randomize
MyValue = Int((9999 * Rnd) + 1)
response.write MyValue
%>
agang3321 2004-04-04
  • 打赏
  • 举报
回复
ycodenum=4
for i=1 to ycodenum
Randomize
ycode=ycode&Int((9*Rnd))
next

response.write ycode
hhzh426 2004-04-04
  • 打赏
  • 举报
回复
dim num
randomize
num = 0
while num <= 0.1
num = Rnd()
wend
num = round(num * 10000)
renniliao 2004-04-04
  • 打赏
  • 举报
回复
dim number
randomize
number=int(Rnd()*90000)+10000
pizixt 2004-04-04
  • 打赏
  • 举报
回复
To: pizixt(皮子)
0≤ Rnd <1
pizixt 2004-04-04
  • 打赏
  • 举报
回复
To: QQgenie(妖魔鬼怪)
0< Rnd <1

To:楼上 and 楼上's 楼上 and ...
其实我写错了,楼主是要 4 位数,多了1位,嘿嘿
randomize
rannum=int(9000*rnd)+1000
  • 打赏
  • 举报
回复
randomize
rannum=int(90000*rnd)+10000

这个就成 了
超级大笨狼 2004-04-04
  • 打赏
  • 举报
回复
pizixt(皮子)的就可以了,我的代码洗牌给你解闷儿。
超级大笨狼 2004-04-04
  • 打赏
  • 举报
回复
<SCRIPT LANGUAGE=vbscript >
'洗牌
Dim N,S,D,P
P=52'牌的数量
Set D = CreateObject("Scripting.Dictionary")
do while D.Count<P
Randomize
N=Int(P * Rnd + 1)
if not D.Exists(cstr(N)) then
D.Add cstr(N),cstr(N)
end if
loop
for each K in D.Keys
S=S & K & " "
next
msgbox replace(trim(S)," ",",")
</SCRIPT>
QQgenie 2004-04-04
  • 打赏
  • 举报
回复
复制错了,liyan010(我是大坏蛋)才是对的

简单的分析:
rnd:0 - 1,
1000为基数
最大可变数:8999
测试:
for i=1 to 100000
randomize
a = int(rnd * 8999)+1000
if a<1002 or a>9990 then response.write a&"/"
next
susan930 2004-04-04
  • 打赏
  • 举报
回复
randomize
rannum=int(10000*rnd)+1000

rannum为随机的4位整数
加载更多回复(4)

28,409

社区成员

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

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