vb6一个简单的固定内容字符串随机问题
感谢各位,请问我的思路是dim a()
a是个数组内容为(11,22,aa,44,bb)5个元素,假设
每次执行的话随机得到其中一个元素,而不是其中一个数字。也就是说要字符串不要数字。
我试过了rnd但是每次都乱七八糟的,而且是数字不是字符串。
请各位给个代码。。。要是能控制几率就更好了。。。。。
我之前RND每次得到的结果好像都是最高和最低范围内的数,而不是5个其中之一,比如上限55,下限11
中间有22,33,44
也就是
(11,22,33,44,55)
我想得到随机其中一个,每次都是出个什么25,36,48,15这种
小弟VB不是太精,只是稍微懂点,自学的,所以献丑了各位
感谢 假如上面数组是五个数,那么通过随机数除以5后产生的余数为0,1,2,3,4这几个数正是数组的下标,由下标去获取数组的内容,不可行吗? 如果你认为数组中的 11, 22, 44 也是字符串的话:
MsgBox a(Int(rnd()*5))
否则:
strTmp = "12"
Do While IsNumeric(strTmp)
strTmp = a(Int(rnd()*5))
Loop
MsgBox strTmp
控制概率也是可行的,看你要怎样控制。
Private Sub Command1_Click()这很简单
Dim a(4) As Variant
Dim i As Long
a(0) = 11
a(1) = 22
a(2) = "aa"
a(3) = 44
a(4) = "bb"
i = CLng(Rnd * 5)
Debug.Print a(i), TypeName(a(i))
End Sub
'bb String
' 44 Integer
' 44 Integer
' 22 Integer
'aa String
'bb String
' 11 Integer
'bb String
'bb String
'bb String
' 11 Integer
'aa String
'bb String
'……
将数组中是数字的装入一个新的数组
然后用 新数组(Int(Rnd() * UBound(新数组))) 得到一个随机的元素。
补充:VB , 基础类