我想知道是否有办法随机收到一封信(来自A-Z)
感谢您的帮助。
答案 0 :(得分:5)
我认为这就是你要找的东西。 Generate a Random Letter in ASP:
Function RandomNumber(LowNumber, HighNumber)
RANDOMIZE
RandomNumber = Round((HighNumber - LowNumber + 1) * Rnd + LowNumber)
End Function
将函数分配给变量并传入LowNumber(26)和 HighNumber(97)并将返回的值转换为字符 表示:
RandomLetter = CHR(RandomNumber(97,122))
您希望大写字母的范围在65到90之间(A和Z)。
答案 1 :(得分:3)
这是另一种不使用if / switch来查看它的方法。
String alphabet = "abcdefghijklmnopqrstuvwxyz";
Random rand = new Random();
char randomCharacter = alphabet[rand.Next(0, 25)];
答案 2 :(得分:2)
使用随机数......就像这样:
Function RandomNumber(LowNumber, HighNumber)
RANDOMIZE
RandomNumber = Round((HighNumber - LowNumber + 1) * Rnd + LowNumber)
End Function
然后从1-26使用它,使用“if”或switch,来获取信件。
答案 3 :(得分:1)
我找到了一个解决方案,您可以轻松控制生成器的有效值。
Function CreateRandomString(iSize)
Const VALID_TEXT = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890"
Dim sNewSearchTag
Dim I
For I = 0 To iSize
Randomize
sNewSearchTag = sNewSearchTag & Mid(VALID_TEXT,Round(Rnd * Len(VALID_TEXT)),1)
Next
CreateRandomString = sNewSearchTag
End Function
答案 4 :(得分:1)
Rogerio的答案很好,但Round(Rnd * Len(VALID_TEXT))可以为0而Mid不能从0开始。如果你想使用这个函数,请修复它。
答案 5 :(得分:1)
Roger Baretto的回答以Cem的提示为准))
Function RandomString(iSize)
Const VALID_TEXT = "abcdefghijklmnopqrstuvwxyz1234567890"
Dim Length, sNewSearchTag, I
Length = Len(VALID_TEXT)
For I = 1 To iSize
Randomize()
sNewSearchTag = sNewSearchTag & Mid(VALID_TEXT, Int(Rnd()*Length + 1), 1)
Next
RandomString = sNewSearchTag
End Function