关于VB中的random函数

'初始化随机数初值,得到一个0~9内的随机整数Randomizem_intCurrentConnodity=Int(10*Rnd)在这个函数中得到一个随机整数,但是当程序... '初始化随机数初值,得到一个0~9内的随机整数
Randomize
m_intCurrentConnodity = Int(10 * Rnd)

在这个函数中得到一个随机整数,但是当程序再次调用此函数的时候,产生的数与刚刚产生的一样?

请问怎样才能让它真正的随机啊,就是当程序每次调用它的时候都能生成一个新的随机数~`
展开
 我来答
chxy2008
推荐于2017-09-09 · 超过42用户采纳过TA的回答
知道小有建树答主
回答量:229
采纳率:0%
帮助的人:140万
展开全部
Randomize
m_intCurrentConnodity = Int(10 * Rnd)
这样写基本上没有什么问题.
首先你要明确你想产生什么范围内的数.
公式:int((上限-下限+1)*rnd+下限)
homewangxin1
推荐于2017-10-13 · TA获得超过7万个赞
知道大有可为答主
回答量:4.4万
采纳率:50%
帮助的人:1.3亿
展开全部
  1. 如需要在一个random()序列上生成真正意义的随机数,在执行其子序列时使用randomSeed()函数预设一个绝对的随机输入,例如在一个断开引脚上的analogRead()函数的返回值。

  2. 反之,有些时候伪随机数的精确重复也是有用的。这可以在一个随机系列开始前,通过调用一个使用固定数值的randomSeed()函数来完成。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
冼德文实念
2019-08-02 · TA获得超过3.6万个赞
知道大有可为答主
回答量:1.3万
采纳率:25%
帮助的人:725万
展开全部
这个原因跟你的len(a)有关系,你是否确定len(a)等于3,如果不是,那么,a就不会与b相等。
在你现在给出程序出,没有定义a这个变量,可能你在这之前已经使用到a。所有我建议你在open之前打印出len(a)的值。如:
print
"a变量的长度:";len(a)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
acd1024
2008-04-17 · 超过27用户采纳过TA的回答
知道答主
回答量:57
采纳率:0%
帮助的人:44.7万
展开全部
给你一个函数
Public Function getRnd(min As Long, max As Long) As Single
Randomize '没有这个 产生的数会一样
getRnd = Rnd * (max - min + 1) + min
End Function

如果你需要一个0-9的任意整数

m_intCurrentConnodity = Int(getRnd(0,9))
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
worldxa
2008-04-17 · TA获得超过1720个赞
知道小有建树答主
回答量:529
采纳率:0%
帮助的人:719万
展开全部
你有没有把Randomize和Rnd写在同一个过程,且要写在Rnd之前,你也可以给Rnd函数给一个正值,最常用的是Rnd(1)。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式