level 13
【有许多的同志没有完全了解 Rnd 随机乱数的真正用法】
这篇帖子是以前发表的, 我遍寻不着,特此重贴.
'*******************************************************
RND 初始值是小于1 后面带好几位小数点,因随机数一般不会用到小数点,所以加上Int 将初始值整数化
Randomize 不加上这行,则每次所得到的一批数值都是依 "固定顺序" 排列的 "相同" 乱数. Rnd * 100 这行的正确解释是 从 0 起算, 得到从 0-99 总共100个的随机数. (但得不到 100 这个数)
1.从 1 到 100 之间取个随机数, 公式如下: 公式可以这样理解: 最小值=1 最大值=100 xx=int(Rnd * (最大值-最小值+1)) + 最小值. 代码: xx=int(Rnd * (100-1+1)) + 1
2.从 10 到 100 之间取个随机数, 公式如下: 公式可以这样理解: 最小值=10 最大值=100 xx=int(Rnd * (最大值-最小值+1)) + 最小值. 代码: xx=int(Rnd * (100-10+1)) + 10
3.从 101 到 500 之间取个随机数, 公式如下: 公式可以这样理解: 最小值=101 最大值=500 xx=int(Rnd * (最大值-最小值+1)) + 最小值. 代码: xx=int(Rnd * (500-101+1)) + 101
2013年02月19日 14点02分
1
level 13
我对【Randomize 不加上这行,则每次所得到的一批数值都是依 "固定顺序" 排列的 "相同" 乱数”】有异议
2013年02月19日 19点02分
6
level 13
调用Randomiz是用于始终化产生随机数的种子,若不带参数则自动使用系统时钟作为种子,但不管怎么用,后续使用Rnd函数得到的都是一个序列的伪随机数。
或者可能是我对【Randomize 不加上这行】有误解,你说的是每使用一次Rnd前都初始化一次种子。
2013年02月19日 19点02分
7
好久不来,头像也变了?
2013年07月02日 07点07分
回复 感谢有你MJ :你记得我?
2013年07月02日 11点07分
level 7
老师,如果我随机数种子是固定的,也不在Randomize,那么我在不同的电脑获得的随机数是不是都一样呢(顺序相同的一批乱数)?
2013年07月02日 03点07分
8
我想你是指不同的操作系统?
2013年07月02日 07点07分
回复 感谢有你MJ :同样的系统,不同的电脑
2013年07月02日 13点07分
是的,以前的老电脑书有随机数表
2013年07月06日 01点07分
level 8
1.从 1 到 100 之间取个随机数, 公式如下: 公式可以这样理解: 最小值=1 最大值=100 xx=int(Rnd * (最大值-最小值+1)) + 最小值. 代码: xx=int(Rnd * (100-1+1)) + 1
.....
直接int(rnd* 100)+1不就得1到100了么.......
还有
Rnd * 100 这行的正确解释是 从 0 起算, 得到从 0-99 总共100个的随机数. (但得不到 100 这个数)
这个是得0到99的随机数(包含整数和小数)
2013年07月02日 05点07分
9
直接int(rnd* 100)+1不就得1到100了么
2013年07月02日 05点07分
回复 cbm666 :呵呵 理解啥叫做 循序渐进? 你能理解 不代表一堆菜鸟能理解 学跳舞 啥叫做 分解动作 明白不?
2013年07月02日 05点07分
回复 cbm666 :所噶...
2013年07月02日 07点07分
我觉得怪人的好理解...好吧,我是小白
2013年07月06日 01点07分
level 4
dim i as integer
private sub command1_click()
randomize
i = int(rnd * 100 - 10) + 11 '为了省略,我常常这样写,不知道,如果遇到什么情况,会不会产生什么错误?
?"当前米价开盘:" & i "买进卖出速度出手!"
end sub
2013年07月02日 07点07分
10
回复 sunshinebean :嘎嘎噶 豆子 放大镜接你 看看他少了啥?
2013年07月05日 23点07分
回复 cbm666 :i后少了个&
2013年07月06日 03点07分
@cbm666 他这个不就是1到100么,这样写着感觉好难理解,为什么不用Int(Rnd*100)+1
2013年07月06日 04点07分
level 7
还有个问题,不加randomize的话,在电脑a获得一个序列,在电脑b获得一个序列,那这两个序列一样么?
2013年07月06日 00点07分
11
呵呵 你太天才了 自己验证一下不就知道了吗?上面几个人都说的那么清楚了
2013年07月06日 01点07分