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

checkup33 2004-04-04 12:28:34
请问怎样随机产生一个4位数的整数?
谢谢!
...全文
393 点赞 收藏 24
写回复
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位整数
回复
发动态
发帖子
ASP
创建于2007-09-28

2.8w+

社区成员

ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
申请成为版主
社区公告
暂无公告