vb 用rnd()函数如何取0到100之间的随机数,要能够取到0和100 注意是随机数 不是随机整数
展开全部
只需按照获取随机整数的方法,然后不取整就行了。唯一需要处理的技术问题,就是有可能出现100.xxx的情况,这个时候只要返回去重新获取即可解决。
更多追问追答
追问
所以我要知道不超出100范围的方法有没有,或者有没有其他函数可以做到
追答
既然是随机数,当发现数据不符合条件时,再重新取一个不就行了吗,我上面不是说了吗?如果你一定要纠结这个问题,那就把所有大于100的都按100来算了,当然,这一来就有违随机数原则,因为获得100的可能性比其他数多大概百分之一。
下面是个大于100返回去重新获取的例子:
Do
x = Rnd * 101
Loop x > 100
而下面则是大于100按100处理的例子:
x = Rnd * 101
If x > 100 Then x = 100
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
产生的数n,n>=0 ,且 n<101
n = Rnd * 101
若要满足:0<=n<=100的实数
n = Rnd * 101
do while n>100
n = Rnd * 101
loop
print n
n = Rnd * 101
若要满足:0<=n<=100的实数
n = Rnd * 101
do while n>100
n = Rnd * 101
loop
print n
追问
rnd*100会产生大于100的数啊
追答
根据VB的函数Rnd的约定;
Rnd产生大于等于0,且小于1的随机函数,用数学表达就是:
0<=Rnd<1
然后,运用数学不等式的概念;不等式两边乘以一个正数,不等式符号不变有;
0*100<=Rnd*100<1*100
化简有:
0 <= Rnd * 100 < 100
请问你的:“rnd*100会产生大于100的数啊”的结论,来自何处呢?
你可以通过VB,进行实验来证明的?
最后:你要取得 “0到100之间的随机数“,是否包括0和100?
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询