扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
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)
'就把数值拷贝到数组里面了
1、大写字母对应的ASCII码的范围是65~89,因此随机生成65~89之间的数字,生成对应的大写字母即可;
2、打开VB6.0,新建一个标准exe工程,界面上新建一个按钮和一个文本框;
3、按钮代码如下:
Private Sub Command1_Click()
Text1.Text = ""
Dim n As Integer
Randomize
n = Int(Rnd * 25) + 65
Text1.Text = Chr(n)
End Sub
4、运行工程,生成随机的大写字母;
你可以随机从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.写一个字符数组将所有的字母字符存放起来如
a[52]={a,b,c,d.....z,A,B,C,....Z}
2.用随机函数产生器产生一个随机数
c#
里面好像是random,可以带参数,指定产生多大的一个随机数,这里最大的是51,即每次产生一个从0到51的数,
3.利用随机数作为数组下标得到数组里对应的字符,OK
这只是产生了一个字母,如果想产生多个随机字母,则在一个循环里做2-3步
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'单击事件结束
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流