vb 用rnd()函数如何取0到100之间的随机数,要能够取到0和100 注意是随机数 不是随机整数

 我来答
网海1书生
科技发烧友

2016-09-05 · 擅长软件设计、WEB应用开发、小程序
网海1书生
采纳数:12311 获赞数:26230

向TA提问 私信TA
展开全部
只需按照获取随机整数的方法,然后不取整就行了。唯一需要处理的技术问题,就是有可能出现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
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
syx54
2016-09-05 · TA获得超过7379个赞
知道大有可为答主
回答量:6567
采纳率:83%
帮助的人:2774万
展开全部
产生的数n,n>=0 ,且 n<101
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?
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式