vb随机函数的问题!急急!!!

来源:百度知道 编辑:UC知道 时间:2024/05/21 11:40:59
用随机函数出来的数怎么每次都是按照一个顺序出现的?怎么能让它真正随机啊?急急!!!

在使用Rnd函数时,如果没有执行过Randomize命令,
则产生的随机数总下面的序列:
.7055475
.533424
.5795186
.2895625
.301948
......
为了能产生真正意义上的随机数,就需要在使用Rnd之前,执行一次Randomize命令。因为Form_Load过程是在窗体装入是就执行的过程,所以Randomize常常写在这个过程里。
Randomize称为随机种子命令,它实际上是用计算机内部时钟的毫秒数当种子,因为各台电脑里时钟毫秒数相同的可能性很小,并且每台电脑的时钟都是在不停的变化,所以执行过Randomize之后,产生的随机数就不相同了。

描述
初始化随机数生成器。
语法
Randomize [number]
number 参数可以是任何有效的数值表达式。

说明
Randomize 使用 number 参数初始化 Rnd 函数的随机数生成器,赋给它新的种子值。如果省略 number,则使用系统计时器返回的值作为新的种子值。
如果不使用 Randomize,则第一次调用 Rnd 函数(无参数)时,它将使用相同的数字作为种子值,随后使用最后生成的数值作为种子值。

注意 要重复随机数的序列,请在使用数值参数调用 Randomize 之前,立即用负值参数调用 Rnd。使用相同的 number 值的 Randomize 不能重复先前的随机数序列。

真正的随机数我不知道。但我这有个办法。。只要找一样不重复的东西写过 rnd() 里就好啦。。

你在执行随机函数rnd之前先单独执行语句:randomize [number]
用number将rnd函数的随机数生成器初始化,该随机数生成器给number一个新的种子值.如果省略number,则用系统计时器返回的值作为新的种子值

你要想真正随机,就在运行rnd之前先运行randomize就可以了