注册 登录
编程论坛 VB6论坛

rnd()是随机产生一个0到1之间单精度的随机函数在运行几次后竟然产生一个大于1的单精度数

天下苍生 发布于 2015-10-21 19:53, 695 次点击
本人刚接触vb。有一个问题请教:rnd()是随机产生一个0到1之间单精度的随机函数,我在圆括号内输入数字1,在运行几次后竟然产生一个大于1的单精度数。不知为何。请大神指点。
6 回复
#2
wmf20142015-10-21 20:03
无图无真相
#3
天下苍生2015-10-21 20:18
回复 2楼 wmf2014
如何在论坛上发表图片呢?
#4
renxiaoyao362015-10-21 21:20
没见过这个情况
圆括号内的是RND种子,如果你要随机生成数字,建议缺省
另外,如果你要生成特定范围随机的整数,你可以参考一下代码
Randomize
A = Int(100 * Rnd) Mod 4

随机生成0到3之间的数字
Randomize是指定 随机生成
否则Rnd会自动将种子写入为你当前程序运行的时间
比如你运行了1S,那么种子自动为1
运行2MIN,种子为120
同一种子多次RND后会循环回去
Randomize申明这个过程的RND是随机的
#5
Artless2015-10-22 00:22
以下是引用天下苍生在2015-10-21 19:53:47的发言:

本人刚接触vb。有一个问题请教:rnd()是随机产生一个0到1之间单精度的随机函数,我在圆括号内输入数字1,在运行几次后竟然产生一个大于1的单精度数。不知为何。请大神指点。

>1?
#6
天下苍生2015-10-22 17:47
回复 5楼 Artless
请教大神,如何在论坛上发表图片?谢谢!
#7
renxiaoyao362015-10-22 19:26
回复 6楼 天下苍生
添加附件 吧
我也不大清楚,其实不需要图片我就能知道你的意思的
1