十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
你可以随机从ASCII码中的33到126之间随机选一个数
在永泰等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供成都网站设计、成都网站制作 网站设计制作按需网站设计,公司网站建设,企业网站建设,品牌网站制作,成都全网营销推广,成都外贸网站建设,永泰网站建设费用合理。
然后还原成字符
重复12次就可以得到12位随机字符串了~
使用rnd函数
为了生成某个范围内的随机整数,可使用以下公式
Int((upperbound
-
lowerbound
+
1)
*
Rnd
+
lowerbound)
upperbound
是随机数范围的上限,而
lowerbound
则是随机数范围的下限
Int((126
-
33
+
1)
*
Rnd
+
33)
Chr
函数
就是还原asc码为字符
Randomize
为了保证每次重新加载程序不生成同样的随机数
代码如下:
Private
Sub
Command1_Click()
Randomize
Dim
str1
As
String
For
i
=
1
To
12
str1
=
str1
Chr(Int((126
-
33
+
1)
*
Rnd
+
33))
Next
i
MsgBox
str1
End
Sub
1.随机产生英文字母
Randomize() '功 能:初始化随机数发生器
Me.txt1.Text = Chr(Asc("a") + Int(Rnd() * 26))
'Rnd 函数返回小于 1 但大于或等于 0 的值。
'0 = Rnd() * 26 26 是含小数位的数
'Int(Rnd() * 26) 转换为整型,就是0~25的随机数
'Asc("a") 得到a的ASCii数值,是整数97(A是65)
'a~z的ASCii为97~122 ,即为a~z之间的字母为97加(0~25)
'Asc("a") + Int(Rnd() * 26)为97到122的随机数
'Chr()又可以起到转换成字符的功能,Chr(97)表示a (a转换成数值又是Asc("a")=97)
'Chr(Asc("a") + Int(Rnd() * 26))就是a~z的随机数了
Randomize() '再次初始化随机数发生器
Me.txt2.Text = Chr(Asc("A") + Int(Rnd() * 26)) '这里是A~Z的随机数
'也可以换这种写法
Randomize()
Me.txt1.Text = Chr(Int((26 * Rnd()) + 97)) '这里是a~z的随机数
'这是在你知道ASCII码的情况之下(a~z为97~122,A~Z为65~90)
'Rnd()为0~0.9999999.....的随机数
' 26 * Rnd()为0~25.9999...的随机数
'Int((26 * Rnd())为0~25的随机数
'Int((26 * Rnd()) + 97)为97~122的随机数
'Chr(Int((26 * Rnd()) + 97))就是a~z的随机数了
Randomize()
Me.txt2.Text = Chr(Int((26 * Rnd()) + 65)) '这里是A~Z的随机数
'至于同时在一处随机大写或小写,ASCII码的数字又不挨在一起(65-90,97-122),比较麻烦。想写的话,你可以自己想一下怎么办
2.数字怎样转换成ASCII码所对应的字母
Chr()函数将数字转换成ASCII对应的字母,Asc()函数将字母根据ASCII表转换成数字
Chr(97)表示a (a转换成数值又是Asc("a")=97)
3.加到数组,你可以放在一个for循环里
比如
Dim arylst1 As New ArrayList
Dim arr1() As String '数组
Dim str1 As String
For i As Integer = 1 To 15 '比如我想要15个随机字母
Randomize()
str1 = Chr(Int((26 * Rnd()) + 65)) '这里是A~Z的随机数
arylst1.Add(str1)
Next
ReDim arr1(arylst1.Count - 1) '这里是为了比较动态,可以只改变 i 的范围来决定要多少个随机字母
'当然也可以写死,在前面直接定义为 arr1(14),下次要改的时候就要改定义的地方和i的范围,改两个地方
arylst1.CopyTo(arr1)
'就把数值拷贝到数组里面了
你可以换个思路嘛,随机数只能显示数字,但也可以转换为符号
Dim a
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Randomize()
a = Int(Rnd() * 4) + 1
Select Case a
Case 1
TextBox1.Text = "+"
Case 2
TextBox1.Text = "-"
Case 3
TextBox1.Text = "*"
Case 4
TextBox1.Text = "/"
End Select。
private
sub
command1_click()'按钮的单击事件
dim
a,
c$'定义变量
for
a
=
1
to
12'开始12次循环
c
=
c
chr(int((rnd()
*
79))
+
48)'每次产生一个字符。
next
a'
text1.text
=
c'将结果输出在文本框中。
end
sub'单击事件结束
说个思路,
1.写一个字符数组将所有的字母字符存放起来如
a[52]={a,b,c,d.....z,A,B,C,....Z}
2.用随机函数产生器产生一个随机数
c#
里面好像是random,可以带参数,指定产生多大的一个随机数,这里最大的是51,即每次产生一个从0到51的数,
3.利用随机数作为数组下标得到数组里对应的字符,OK
这只是产生了一个字母,如果想产生多个随机字母,则在一个循环里做2-3步
整一个随机数,然后把这个随机数放进textbox里边就可以了,如果需要随机函数网上很多源码