vb调用随机函数
这个要结合VB的随机函数的功能与初中的数学不等式来演绎推导:
根据VB的随机函数Rnd的功能:产生大于等于0.且小于1的正实数,即:
0 <= Rnd < 1
假设你要产生【最小值,最大值】范围的正整数,那么推导如下;
因为,不等式两端乘以一个正整数,不等式不变,所以有;
0 * (最大值 - 最小值+1) <= Rnd * (最大值 - 最小值+1) < 1 * (最大值 - 最小值+1)
注意这里 + 1,是考虑到右边那个是小于符号!
化简即得到:0 <= Rnd * (最大值 - 最小值+1) < (最大值 - 最小值+1)
分别加上最小值,得到;
0 +最小值<= Rnd * (最大值 - 最小值+1) +最小值 < (最大值 - 最小值+1)+ 最小值
化简为:
最小值<= Rnd * (最大值 - 最小值 + 1) +最小值 < (最大值 +1)
然后,为了得到正整数,对获得的随机数采用取整;
Int (Rnd * (最大值 - 最小值 + 1) +最小值),
得到的值的范围是在【最小值,最大值 +1 )里的整数。
即:范围是在【最小值,最大值】里的整数。
所以结论:
要获得 【最小值,最大值】里随机的整数,使用:
Int (Rnd * (最大值 - 最小值 + 1) +最小值)
现在把你的要求:【200,299】代入,即:
Int (Rnd * (299 - 200 + 1) +200)
即:Int (Rnd * (100) +200)
公式:Int (Rnd * (最大值 - 最小值 + 1) +最小值)就是VB中获得已知范围【最小值,最大值】里产生随机数的通用式子。