在VB中,随机生成的数值怎样才能每次都不一样
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在VB中,随机生成的数值怎样才能每次都不一样相关的知识,希望对你有一定的参考价值。
参考技术A 你可以给RND 一个随机种子,用计算机的系统时间做为这个种子,产生的随机数就不会每次都一样了。 具体就是在调用Rnd前,先调用Randomize。 Private Sub Command1_Click() Randomize Text1.Text = Rnd End Subvb中 Randomize 啥意思
Randomize 语句初始化随机数生成器。语法
Randomize [number]
可选的 number 参数是 Variant 或任何有效的数值表达式。
说明
Randomize 用 number 将 Rnd 函数的随机数生成器初始化,该随机数生成器给 number 一个新的种子值。如果省略 number,则用系统计时器返回的值作为新的种子值。
如果没有使用 Randomize,则(无参数的)Rnd 函数使用第一次调用 Rnd 函数的种子值。
注意 若想得到重复的随机数序列,在使用具有数值参数的 Randomize 之前直接调用具有负参数值的 Rnd。使用具有同样 number 值的 Randomize 是不会得到重复的随机数序列的。 参考技术A randomize:初始化随机数生成器。
语法:Randomize [number]
可选的 number 参数是变量或任何有效的数值表达式。
说明:Randomize 用 number 将 Rnd 函数的随机数生成器初始化,该随机数生成器给 number 一个新的种子 值。如果省略 number,则用系统计时器返回的值作为新的种子值。
如果没有使用 Randomize,则(无参数的)Rnd 函数使用第一次调用 Rnd 函数的种子值。
注意:若想得到重复的随机数序列,在使用具有数值参数的 Randomize 之前直接调用具有负参数值的 Rnd。使用具有同样 number 值的 Randomize 是不会得到重复的随机数序列的。
Randomize 语句示例
本示例用 Randomize 语句初始化随机数生成器。由于忽略了数值参数, 所以 Randomize 用 Timer 函数的返回值作为新的随机数种子值。
Dim MyValue
Randomize ' 对随机数生成器做初始化的动作。
MyValue = Int((6 * Rnd) + 1) ' 生成 1 到 6 之间的随机数值。
rand() :功能得到1与n之间的一个伪随机数。
语法rand ( n )
参数n:数值型变量或表达式,指定要产生的伪随机数的上界。有效值在1到32767之间返回值与n的数据类型相同。函数执行成功时返回1与n之间的一个伪随机数,包括1和n在内。如果参数n的值为null,rand()函数返回null
randomize()
功能初始化伪随机数发生器,这样让应用程序每次使用不同的伪随机数序列。
语法randomize ( n )
参数n:数值型变量或表达式,指定伪随机数生成器使用的起始值,不同的起始值可以生成不同的伪随机数序列。当n的值为0时,该函数把系统时钟作为伪随机数生成器的起始值,这样可以生成不可重复的伪随机数序列。当n的值不为0时,可以产生不同的伪随机数序列,但是,如果两次使用相同的伪随机数生成器起始值,那么两次生成的伪随机数序列相同。n的值在0到32767之间返回值integer。极少使用该函数的返回值。 参考技术B 如果没有randomize
比如
dim a
a=rnd*100
那每次程序运行,第一次取随机数都是一样的,因此是固定的顺序
randomize表示用时间做种子,时间不会后退,因此保证不重复,但是VB的随机数其实是计算出来的,不是真正随机
其实也没有真正随机,买彩票例外 参考技术C 它是一个初始化随机数生成器。主要是返回一随机数前的声明;语法是Randomize [number] 比如
Randomize
x=RandomNumber (0,2)
这是随机生成0-2之间的三个数字中的一个。 参考技术D 初始化随机数生成器。 语法是Randomize [number] 比如
Randomize
x=RandomNumber (0,n)
这是随机生成0-n之间数字中的一个。
以上是关于在VB中,随机生成的数值怎样才能每次都不一样的主要内容,如果未能解决你的问题,请参考以下文章