VB中如何取随机数?
展开全部
为了生成某个范围内的随机整数,可使用以下公式:
Int((upperbound - lowerbound + 1) * Rnd + lowerbound)
这里,upperbound 是随机数范围的上限,而 lowerbound 则是随机数范围的下限。
注意 若想得到重复的随机数序列,在使用具有数值参数的 Randomize 之前直接调用具有负参数值的 Rnd。使用具有同样 number 值的 Randomize 是不会得到重复的随机数序列的。
Int((upperbound - lowerbound + 1) * Rnd + lowerbound)
这里,upperbound 是随机数范围的上限,而 lowerbound 则是随机数范围的下限。
注意 若想得到重复的随机数序列,在使用具有数值参数的 Randomize 之前直接调用具有负参数值的 Rnd。使用具有同样 number 值的 Randomize 是不会得到重复的随机数序列的。
展开全部
rnd函数是随机数函数,产生一个0~1(不含)的数
产生一个范围的随机数可以用这个值进行加减乘除,得到需要的范围
int()函数是取整用的,也可用fix()
产生随机数前要加randomize timer
否则每次产生的随机数都一样
产生一个范围的随机数可以用这个值进行加减乘除,得到需要的范围
int()函数是取整用的,也可用fix()
产生随机数前要加randomize timer
否则每次产生的随机数都一样
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Private WithEvents Command1 As CommandButton
Dim aa$, i%, j%, k%, a(10) As Integer, acepyn As Boolean '宣告变量
Private Sub Form_Load()
Set Command1 = Form1.Controls.Add("VB.CommandButton", "cmdOne")
Command1.Visible = True
Command1.Caption = "开 始"
'窗体置中
Me.Width = 5000: Me.Height = 6600
Me.Move (Screen.Width - Me.Width) \ 2, (Screen.Height - Me.Height) \ 2
Text1(0).Move 0, 0
a(0) = 10: a(1) = 11: a(2) = 22: a(3) = 33: a(4) = 44: a(5) = 55: a(6) = 66: a(7) = 77: a(8) = 88: a(9) = 99
For i = 1 To 9
Load Text1(i)
Text1(i).Visible = True
Text1(i).Move Text1(0).Left, Text1(i - 1).Top + Text1(i - 1).Height + 100
Next i
Command1.Move (Me.Width - Command1.Width - 120) \ 2, 0
Command1_Click
End Sub
Private Sub Command1_Click()
'先初始化10个Text1全部为空
For i = 0 To 9
Text1(i).Text = ""
Next i
aa = ""
Randomize
For i = 0 To 9
Do
DoEvents
j = Int(Rnd * 10)
If InStr(aa, Str(a(j))) = 0 Then
Text1(i).Text = Str(a(j))
aa = aa & " " & Text1(i).Text
Exit Do
End If
Loop
Next i
End Sub
Dim aa$, i%, j%, k%, a(10) As Integer, acepyn As Boolean '宣告变量
Private Sub Form_Load()
Set Command1 = Form1.Controls.Add("VB.CommandButton", "cmdOne")
Command1.Visible = True
Command1.Caption = "开 始"
'窗体置中
Me.Width = 5000: Me.Height = 6600
Me.Move (Screen.Width - Me.Width) \ 2, (Screen.Height - Me.Height) \ 2
Text1(0).Move 0, 0
a(0) = 10: a(1) = 11: a(2) = 22: a(3) = 33: a(4) = 44: a(5) = 55: a(6) = 66: a(7) = 77: a(8) = 88: a(9) = 99
For i = 1 To 9
Load Text1(i)
Text1(i).Visible = True
Text1(i).Move Text1(0).Left, Text1(i - 1).Top + Text1(i - 1).Height + 100
Next i
Command1.Move (Me.Width - Command1.Width - 120) \ 2, 0
Command1_Click
End Sub
Private Sub Command1_Click()
'先初始化10个Text1全部为空
For i = 0 To 9
Text1(i).Text = ""
Next i
aa = ""
Randomize
For i = 0 To 9
Do
DoEvents
j = Int(Rnd * 10)
If InStr(aa, Str(a(j))) = 0 Then
Text1(i).Text = Str(a(j))
aa = aa & " " & Text1(i).Text
Exit Do
End If
Loop
Next i
End Sub
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Randomize
a(i)=int((上界-下界+1)*Rnd)+下界
a(i)=int((上界-下界+1)*Rnd)+下界
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询