日期:2014-05-17  浏览次数:20428 次

有关随机数获取
dim aaa,sss
' Randomize 
' aaa= Int(3*Rnd)+1  
' if aaa=1 then
' sss=15
' elseif aaa=2 then
' sss=28
' elseif aaa=3 then
' sss=29
' end if 
这里面为什么aaa只有1,2,3三个值啊

------解决方案--------------------
Rnd 会有一个取值范围,如果只有3个值的范围就是3个值。你这里应该还有其他代码来获取这个值。
光这里看不出来,也许它有很多个值。 你这里的if只是判断 aaa为1,2,3时候的情况。


------解决方案--------------------
因为rnd返回一个0~1之间的小数(不含1)。
rnd * 3返回0~3之间的小数(不含3)。
加上1返回1~4之间的小数(不含4)。
对这个小数取整,就只能是1 2 3三个数字。

------解决方案--------------------
Rnd是介于(0,1)之间的,乘以3就在(0,3),然后再加1,就是[1,4)之间,注意看好,没有包括4,所以
aaa只有三个值1,2,3