1樓:字昆郯凌柏
int((rnd*6)+1),隨即產生1到6之間的整數rnd()
函式隨即產生一個大於等於0但小於1的
單精度浮點數
,例如:你要隨即產生10到96之間的整數
int(rnd*87
+10)
假設產生a到b之間的整數
則這個範圍應該是b-a,由於rnd隨機產生的數小於1且大於等於0,則應該將rnd()乘以(b-a+1),則int(rnd*(b-a+1))就產生0到b-a之間的整數
再加上a以後就是a到b之間的整數,即int(rnd*(b-a+1)+a)
2樓:vb妮可
這是msdn中的幫助.你看下吧..就知道100和1是怎麼來的了.
為了生成某個範圍內的隨機整數,可使用以下公式:
int((upperbound - lowerbound + 1) * rnd + lowerbound)
這裡,upperbound 是隨機數範圍的上限,而 lowerbound 則是隨機數範圍的下限。
3樓:伊人尤在
rnd()本身返回0~1(小於1)間的隨機數,100*rnd就成了100以內的數字
int(100*rnd),取整後,最大隻有99,最小是0所以int(100*rnd)+1就在1~100之間了.
4樓:
不加一是產生0-99間的隨機整數,加一之後就變成1-100了
5樓:匿名使用者
讓我給你個合理的解釋:
嚴格的說rnd()函式只產生0到1直接的隨機數(但絕不包括0和1),
那麼得:(當然 位數比我下面的還要大 舉個例子)
0的無限逼近:0.0000001
1的無限逼近:0.9999999
int()函式是個取整函式,它的最大特點(往往讓人錯誤)是忽略了小數部分.
結果:int(0.0000001)=0 int(0.9999999)=0
從0和1的無限逼近值 * 100(即100*rnd())
那麼 100倍0的無限逼近:00.00001 (仍然是0啊) int(100*rnd())=0
100倍1的無限逼近:99.99999 (永遠也到不了100啊 ) int(100*rnd())=99
那麼int(100*rnd())+1
0+1=1
99+1=100
最後得出區間:1-100
6樓:匿名使用者
1)rnd 函式,返回一個包含隨機數值的 single。
說明:rnd 函式返回小於 1 但大於或等於 0 的值。
2)int 函式,返回引數的整數部分。
語法:int(number)
int 會刪除 number 的小數部份而返回剩下的整數。
3)rnd 函式示例:
本示例使用 rnd 函式隨機生成一個 1 到 6 的隨機整數。
dim myvalue
myvalue = int((6 * rnd) + 1) ' 生成 1 到 6 之間的隨機數值。
7樓:匿名使用者
因為rnd是》0且<1的小數,所以 100*rnd 是》0且<100的浮點數,也就是0.00....001到99.999...999的浮點數
因此int(100*rnd)的返回值是0,1,2....97,98,99的整數
那麼+1的作用就是增加偏移量
其實,把+1放入括號內是更合理的思路int(100*rnd+1)
VB中LoadPicture函式的用法
測試不行那肯定就錯了唄,要不你手動載入張 看看picture屬性是什麼吶,我雖沒學過vb但是我想關於 的大小應該有單獨的屬性吧!你找找 你的 是jpg的格式當然不行啦,要轉換為icon的,很簡單,你把你的檔案字尾該下就可以了!轉換為icon,另外 別太大 vb 語言中loadpicture 怎麼用 ...
vb中shell的用法,VB中shell的用法
我們以要貝c temp 下所有檔案到d temp目錄為例。在vb程式中啟動 dos程式 或指令 的方法是 shell dos可執行檔名 vbnormalfocus 例如 shell xcopy c temp d temp vbnormalfocus 但是當以上的 xcopy 程式執行結束時,會殘留有...
vb mid函式的用法,VB 中 mid 函式是什麼意思?
說實話,我懷疑你 表達的意思不對,先說明你的主要錯誤 mid出來的值是字元竄,你的if mid text1.text,k,1 a then 中的a要加上引號,才是字元啊 並且else好像要另起一行寫才對吧 然後根據你的 意思label1 k 猜測你有4個label1控制元件陣列,但是後面 label...