2 namedajipai namedajipai 于 2016.03.05 15:11 提问

一个关于VB rnd语句使用的问题

VB6.0做随机数选择,用了rnd函数,为什么每次生成的随机数都一样呢?

3个回答

caozhy
caozhy   Ds   Rxr 2016.03.05 16:04
已采纳

有没有用Randomize初始化随机数的种子

u013596119
u013596119   Rxr 2016.03.05 15:13

调用前加一句Randomize(),不然随机数的种子是一样的,生成的随机数当然也是一样的

WinsenJiansbomber
WinsenJiansbomber   2016.03.05 15:42

因为rnd是一系列的不重复的数,叫伪随机数,每次程序运行它都按同样的方法将里面的数一个个读取出来。举个栗子:

RANDOM 包含十个随机数 {1,3,5,4,2,8,9,6,7,0}

它会从按顺序取这几个数,看起来它就是随机数,但是每次运行程序结果都这样,根本就是不是随机的,而是固定的可以预测的,所才叫伪随机。

为了解决这个问题,引用了 Randomize, 它的作用就是指定一个开始的号码,就是摇号了,这下子程序再运行由于开始点不同了,所以出来的数就更加随机了。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
关于VB调用Access的Rnd函数随机返回表中数据的解决方法
  论坛上问这个问题的人蛮多,最近正好也在写一个小东西遇上了这个问题,在网上搜索了下没找到解决办法。最后在Access版的老大们帮助下解决了,有兴趣的可以交流一下。  SQL server数据库有个NewID函数,可以很方便的用SQL语句得到数据表中的随机数据。但Access数据库没这么方便,虽然有个Rnd,可以通过“select top 10 * from tb order by rnd(i
vb中rnd是什么意思
返回一个包含随机数值的 Single。 语法 Rnd[(number)] 可选的 number 参数是 Single 或任何有效的数值表达式。 返回值 如果 number 的值是 Rnd 生成 小于 0 每次都使用 number 作为随机数种子得到的相同结果。 大于 0 序列中的下一个随机数。 等于 0 最近生成的数。 省略 序列中的下一个随机数。 说明 Rnd 函数返回小
【VBA研究】Rnd和Randomize的关系和理解
iamlaosong文 1、程序中如果只用Rnd取随机数时,每次执行都会产生相同的随机数序列。 2、Randomize可以让每次执行程序产生不同的序列,因为该语句用计时器当前值做随机序列的种子。 3、同一个程序中Randomize number执行两次(相同的number),Rnd取到的随机数也不同。 4、同一个程序中如果想要得到相同的随机数序列,可以先执行“Rnd 负数”。例如:
vb常用内部函数(四):随机数函数
rnd函数返回或者说产生一个小于1但大于或等于0的single类型的随机数。产生随机数之前需要一个种子。·不同的种子,可使随机数生成器生成不同的随机数;·在一个种子下,生成的随机数相同。随机数生成器的语句为randomize。格式为:randomize[x]。·当x>0时,使用前一次调用rnd函数产生的随机数作为本次产生随机数的种子。一般通过使用该参数获得不
VB6的qbcolor函数
QBColor函数返回索引返回一个 Long,用来表示所对应颜色值的 RGB 颜色码。语法QBColor(color)必要的 color 参数是一个界于 0 到 15 的整型。设置值color 参数有以下这些设置:值颜色值颜色0黑色8灰色1兰色9亮兰色2绿色10亮绿色
VB6 执行字符串命令(VB代码)
Private Declare Function EbExecuteLine Lib "vba6.dll" (ByVal pStringToExec As Long, ByVal Unknownn1 As Long, ByVal Unknownn2 As Long, ByVal fCheckOnly As Long) As LongFunction StepLine(ByVal cmd A
VB 任意随机数(N-M)的通用函数(单取、多取存入数组、排序等功能) 内附随机数介绍
如果对于随机数了解没有什么问题,请跳过思路,直接看函数,如果对有函数有疑问或是改进意思,欢迎来信jyh_jack@163.com思路Randomize 初始化随机数生成器Print Int(Rnd() * 2)  生成随机数范围是0-1如果要生成1-10之间的随机数:可以看作随机数的的起始数是:1,范围是1+(0~9)Int(Rnd() * 10) 生成0-9之间的数,再加上起
随机数生成器(源码)
生成随机数 区间 [0,1] vb源码 解决vb中rnd函数不出现1的问题
selectCase的应用实例,学生成绩分数判断VB6.0源代码.
selectCase的应用实例,学生成绩分数判断VB6.0源代码.
TRUNCATE语句的基本用法,值得看下哦
 清空表  如果你想删除表中所有数据,清空表,可以考虑使用DDL语言的TRUNCATE语句。TRUNCATE就像没有WHERE子句的DELETE命令一样。TRUNCATE将删除表中所有行。TRUNCATE不是DML语句是DDL语句,他和DELETE有不同的特点。TRUNCATE TABLE (schema)table DROP(REUSE) STORAGE  STORAGE子串是可选的,缺