随机函数_VB类型转换函数和随机函数用法

本节课程,我们一起学习VB中的类型转换函数和随机函数。 类型转换函数包括: Asc、Chr、Val、Str、Hex 随机函数包括: Rnd、Randomize 一、类型转换函数 1,Asc函数 返回一个 Integer,代表字符串中 首字符 的ASCII字符代码。 语法:
Asc(string)
必要的 string 参数可以是任何有效的字符串表达式。如果 string 中没有包含任何字符,则会产生运行时错误。 说明: Asc函数就是返回一个字符的ASCII码,每一个汉字、每一个字符或符号,都有特定的ASCII码。在非 DBCS 系统下,返回值范围为 0 – 255 。在 DBCS 系统下(如windows),则为 -32768 – 32767。 举例:
Print Asc("1")     '结果为:49Print Asc("A")     '结果为:65Print Asc("1A")    '结果为:49Print Asc("你")    '结果为:-15133Print Asc("你好")  '结果为:-15133
2,Chr函数 返回 String,其中包含有与指定的字符代码相关的字符 。 语法:
Chr(charcode)
必要的 charcode 参数是一个用来识别某字符的 Long。 说明:

0 到 31 之间的数字与标准的非打印 ASCII 代码相同。例如,Chr(10) 可以返回换行字符。charcode 的正常范围为 0 – 255。

举例:
Print Chr(65)      '结果为"A"Print Chr(49)      '结果为"1"Print Chr(-15133)  '结果为"你"
扩展: chr(10)表示换行符,chr(13)表示回车符 3,Val函数 将字符串类型转换为数值类型,返回包含于字符串内的数字,字符串中是一个适当类型的数值,如果字符串第一个字符不是数字,那么将返回0。 语法:
Val(string)

必要的 string 参数可以是任何有效的字符串表达式.

说明:

Val 函数,在它不能识别为数字的第一个字符上,停止读入字符串。那些被认为是数值的一部分的符号和字符,例如美圆号与逗号,都不能被识别。但是函数可以识别进位制符号 &O(八进制)和 &H(十六进制)。空白、制表符和换行符都从参数中被去掉。

下面的返回值为 1615198:

Val(" 1615 198thSt")

举例:

Dim str$      str = "123"    Print Val(str)  '结果是:123(数值类型)    str = "a123"    Print Val(str)  '结果是:0(数值类型)    str = "10a123"    Print Val(str)  '结果是:10(数值类型)
4,Str函数 将数值类型转换为字符串类型,返回代表一数值的 Variant (String)。 语法:
Str(number)
必要的 number 参数为一 Long,其中可包含任何有效的数值表达式。 说明: 当一数字转成字符串时,总会在前头保留一空位来表示正负。如果 number 为正,返回的字符串包含一前导空格暗示有一正号。 5,Hex函数 将一个数值转换为十六进制的数值字符串,返回代表十六进制数值的 String。 语法:
Hex(number)
必要的 number 参数为任何有效的数值表达式或字符串表达式。 说明: 如果 number 还不是一个整数,那么在执行前会先被四舍五入成最接近的整数。
如果 number 所得为
NullNull
Empty零 (0)
任何其他的数字最多可到八个十六进制字符。
提示: 适当范围内的数字,前缀以 &H ,可以直接表示十六进制数字。例如,十六进制表示法的 &H10 代表十进制的 16。 举例:
Print Hex(10)    '结果为"A"Print Hex(11000) '结果为"2AF8"
二、随机函数 1,Rnd函数 产生一个在 [0,1) 之间的随机数,其结果是一个 Single单精度类型的数值。 语法:
Rnd[(number)]
可选的 number 参数是 Single 或任何有效的数值表达式。 返回值:
如果 number 的值是Rnd 生成
小于 0每次都使用 number 作为随机数种子得到的相同结果。
大于 0序列中的下一个随机数。
等于 0最近生成的数。
省略序列中的下一个随机数。
说明: 1,Rnd 函数返回小于 1 但大于或等于 0 的值。 2,number 的值决定了 Rnd 生成随机数的方式。 3,对最初给定的种子都会生成相同的数列,因为每一次调用 Rnd 函数都用数列中的前一个数作为下一个数的种子。 4,在调用 Rnd 之前,先使用无参数的 Randomize 语句初始化随机数生成器,该生成器具有根据系统计时器得到的种子。 为了生成某个 [low,up] 范围内的随机整数,可使用以下公式:
Int((up - low + 1) * Rnd + low)
2,Randomize函数 初始化随机数生成器,以便使用rnd产生随机数时不会重复。 语法:
Randomize [number]
可选的 number 参数是 Variant 或任何有效的数值表达式。 说明: Randomize 用 number 将 Rnd 函数的随机数生成器初始化,该随机数生成器给 number 一个新的种子值。如果省略 number,则用系统计时器返回的值作为新的种子值。 如果没有使用 Randomize,则(无参数的)Rnd 函数使用第一次调用 Rnd 函数的种子值。 注意: 若想得到重复的随机数序列,在使用具有数值参数的 Randomize 之前直接调用具有负参数值的 Rnd。使用具有同样 number 值的 Randomize 是不会得到重复的随机数序列的。 随机函数举例: 目标 : 设计一个程序,随机产生5个在1-10范围内的整数。第一个按钮事件中不使用Randomize函数,第二个按钮事件中使用Randomize函数。然后运行程序2次,观察结果有何区别。 第一步: 按照下图设计程序界面:

2f3d2d8fef109d6c1991526057cf853c.png

第二步:按照下图编写代码:

fb80e2bdf1cc9e006ccbdddcc952bb3a.png

注意:产生1-10之间的整数,按照上面的公式,可以写出来其表达式为:

Int((10-1)*Rnd+1),即:Int(10*Rnd+1)

第三步:运行程序,点击三次按钮1,再点击三次按钮2,然后将结果拍照或截图保存,以便与下一次运行结果对比。比如,我这里运行结果如下:

d8bbbc3bb0c6829d36e33e9d7178f483.png

第四步:关闭程序后,再运行程序,同样点击三次按钮1,再点击三次按钮2,我这里的结果如下图所示,与第一次的结果做一个对比,观察两者有何区别?

72c3c11a38f0f7b25d9477bac22dc84e.png

发现了吗,虽然单次运行时,似乎两者并没有区别,都可以正确的产生随机数。但是当关闭程序后,再次运行程序时,可以发现:不使用Rnadomzie函数时,其随机结果与第一次运行时产生的结果一一对应。而使用了Rnadomzie函数,才是实现了正真的随机。

其原因就是在于:第一种方法没有变换随机种子,所以导致随机的结果顺序一致。而第二中方法变换了随机种子,所以实现了真正的随机。

好了,本节关于VB转换函数和随机函数的学习课程就到这里啦。我们下节课程再见。

c2a4e3d3061337f118fbd2faeb4d1401.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值