VB int(100*Rnb(1)) 含义是什么 Rnb(1)含义是什么 请详细点 谢谢
展开全部
Rnb(1)没这个函数
应该是RND,RND函数是返回小于 1 但大于或等于 0 的值。
其中格式为:Rnd[(number)]
其中如果 number 的值不同结果不同,4种情况
1、小于 0 每次都使用 结果每次产生相同的随机数。
2、大于 0 依序产生下一个随机数。 (也是默认项)
3、等于 0 返回最近产生的一个随机数。
4、省略时同情况2为默认项,number大于0
因此int(100*Rnd(1))
可以理解为产生0到100之间的一个随机数(0—1分别乘以100,最大的是100,最小的是0)
然后对0—100之间的数取整。
如果除掉int的话你这里会产生很多个数,去不去掉关键是看你的程序到底是要做什么。
如果必须用整数,你肯定要用int.
应该是RND,RND函数是返回小于 1 但大于或等于 0 的值。
其中格式为:Rnd[(number)]
其中如果 number 的值不同结果不同,4种情况
1、小于 0 每次都使用 结果每次产生相同的随机数。
2、大于 0 依序产生下一个随机数。 (也是默认项)
3、等于 0 返回最近产生的一个随机数。
4、省略时同情况2为默认项,number大于0
因此int(100*Rnd(1))
可以理解为产生0到100之间的一个随机数(0—1分别乘以100,最大的是100,最小的是0)
然后对0—100之间的数取整。
如果除掉int的话你这里会产生很多个数,去不去掉关键是看你的程序到底是要做什么。
如果必须用整数,你肯定要用int.
追问
int(rnd(上限-下限+1)-下限) 怎么算 岂不范围是(1,100)吗
追答
你到底要实现什么功能,一般采用的是number*rnd ,根据你要的结果看number的取值。如:
Int((上限 - 下限 + 1) * Rnd + 下限),所以要取什么范围看你到底要它在什么范围,然后定制你的上下限
展开全部
得到0~99之间一个随机整数。
过程:rnd(1)得到0~1(不包括0、1)的随机小数,乘以100,得到0~100随机小数(不包括0、100)再"int"取整,得到0~99(都包括)的整数。
过程:rnd(1)得到0~1(不包括0、1)的随机小数,乘以100,得到0~100随机小数(不包括0、100)再"int"取整,得到0~99(都包括)的整数。
追问
既然是不包括为什么还有0呢
追答
最后取整啦,int()例子:
int(0.3)=0 √
int(0.5)=0 √
int(0.5)=1 × 虽然人习惯四舍五入,但int好比一个痴呆:只会去尾法
int(2.5)=2
int(4.3)=4
再回到原问题:之前得到“得到0~100随机小数(不包括0、100)”,接下来看最小的情况:
int(0.??)结果:0。就像例子中的int(0.3)=0
最大的状况:int(99.99??)=99,最大的状况就是99嘛。
所以最后结果为0~99(都包括)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
应该是rnd(1),表示取[0,1)之间的随机数,括号里面的是随机种子,一般计算机的随机数都是伪随机数,以一个真随机数(种子)作为初始条件,然后用一定的算法不停迭代产生随机数。
追问
什么是伪随机呢 那Rnb(9)呢 这个int(100*Rnb(1)) 范围是什么 能不能除掉int
追答
rnd(9)和Rnd(1)效果差不多,就是随机种子不同,int(100*Rnd(1))的范围是从0到99的整数,如果去掉了int,那么就是从0到99.999...之间的小数了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询