Dim a As Integer = CInt(Int((9999 - 1000 + 1) * Rnd() + 1000))
創(chuàng)新互聯(lián)建站是專業(yè)的寧晉網(wǎng)站建設(shè)公司,寧晉接單;提供成都網(wǎng)站建設(shè)、網(wǎng)站制作,網(wǎng)頁(yè)設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行寧晉網(wǎng)站開(kāi)發(fā)網(wǎng)頁(yè)制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛(ài)的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來(lái)合作!
注:randomvalue = CInt(Int((upperbound - lowerbound + 1) * Rnd() + lowerbound))
這里,upperbound 是此范圍內(nèi)最大的數(shù),lowerbound 是此范圍內(nèi)最小的數(shù)。
Private Sub Command1_Click()
Dim num(6) As Integer
Dim i As Integer, j As Integer
Dim tmp As Integer
Randomize '防止每次生出隨機(jī)數(shù)一樣
For i = 0 To 5
num(i) = Int(Rnd * 53) + 1
Next
PrintNum "新生成的6個(gè)隨機(jī)數(shù)為:", num()
For i = 0 To 5
For j = 0 To 5
If num(j) num(j + 1) Then
tmp = num(j)
num(j) = num(j + 1)
num(j + 1) = tmp
End If
Next
Next
PrintNum "排序后的6個(gè)隨機(jī)數(shù)為:", num()
End Sub
方法名稱:next();功能描述:返回一個(gè)0~2147483647之間的整數(shù)
方法名稱:next(i);功能描述:返回一個(gè)0~i之間的整數(shù)
方法名稱:next(i,j);功能描述:返回一個(gè)i~j之間的整數(shù)
方法名稱:Nextdouble();功能描述:返回一個(gè)0~1之間的隨機(jī)小數(shù)
================
使用方法:
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Dim rand = New System.Random()
MsgBox(rand.next().ToString())
End Sub
==========================
產(chǎn)生N個(gè)不同數(shù)的話,我給你個(gè)我寫(xiě)的VB的代碼,你稍微改下:
產(chǎn)生0-10的數(shù):
Private Sub Command1_Click()
Randomize
Dim a(10) As Long
n = 10
For i = 0 To n
a(i) = Int(Rnd() * (n + 1))
For j = 0 To i - 1
If a(i) = a(j) Then
i = i - 1
Exit For
End If
Next
Next
For i = 0 To n
Print a(i)
Next
End Sub
Rnd[(number)]
number
的值決定了
Rnd
生成隨機(jī)數(shù)的方式
如果
number
的值
Rnd
生成
小于
每次都使用
number
作為隨機(jī)數(shù)種子得到的相同結(jié)果。
大于
序列中的下一個(gè)隨機(jī)數(shù)。
等于
最近生成的數(shù)。
省略
序列中的下一個(gè)隨機(jī)數(shù)。
====================
先討論沒(méi)有加randomize時(shí)
X小于0
如
rnd(-1)
以-1為種的隨機(jī)數(shù)永遠(yuǎn)相同
X大于0
如
rnd(1)
系統(tǒng)會(huì)先生成隨機(jī)數(shù)列表
有N個(gè)隨機(jī)數(shù)
你每執(zhí)行一次rnd(1)就獲取列表中下一個(gè)隨機(jī)數(shù)
比如有這么個(gè)列表
程序開(kāi)始時(shí)
得到0.7055475
執(zhí)行第二次rnd(1)得到0.533424
第三次0.5795186
你關(guān)閉程序重新打開(kāi)
第一次得到還是0.7055475
.7055475
.533424
.5795186
.2895625
.301948
而你說(shuō)的X0
X0沒(méi)差別
是錯(cuò)的
Rnd(1)
Debug.Print
Rnd(-2)
和
Debug.Print
Rnd(-2)
Rnd(1)
結(jié)果是不一樣的
X等于0
最近生成的數(shù)
一般為科學(xué)型數(shù)值
這個(gè)值也是不變的
rnd(x)
省略x不寫(xiě)
就和X0
效果一樣
=========================
Randomize
用
number
將
Rnd
函數(shù)的隨機(jī)數(shù)生成器初始化,該隨機(jī)數(shù)生成器給
number
一個(gè)新的種子值。如果省略
number,則用系統(tǒng)計(jì)時(shí)器返回的值作為新的種子值。
如果沒(méi)有使用
Randomize,則(無(wú)參數(shù)的)Rnd
函數(shù)使用第一次調(diào)用
Rnd
函數(shù)的種子值。
注意
若想得到重復(fù)的隨機(jī)數(shù)序列,在使用具有數(shù)值參數(shù)的
Randomize
之前直接調(diào)用具有負(fù)參數(shù)值的
Rnd。使用具有同樣
number
值的
Randomize
是不會(huì)得到重復(fù)的隨機(jī)數(shù)序列的。
一般在使用rnd獲取隨機(jī)數(shù)
都是
randomize
int(rnd*(上限-下限+1)+下限)
這2個(gè)函數(shù)的X都是省略不寫(xiě)
'項(xiàng)目:VB中產(chǎn)生在一定正整數(shù)范圍內(nèi)的不重復(fù)的隨機(jī)數(shù)'作者:qq15495835Private Sub Command1_Click() Max = 100 '隨機(jī)數(shù)上限值 Min = 1 '隨機(jī)數(shù)下限值 Amount = 10 '產(chǎn)生號(hào)碼數(shù)量(數(shù)量值應(yīng)小于隨機(jī)數(shù)上限值-隨機(jī)數(shù)下限值)否則會(huì)產(chǎn)生死循環(huán) ReDim a(Amount) Randomize For i = 0 To Amount a(i) = Int((Max - Min + 1) * Rnd + Min) For j = 0 To i If i j And a(i) = a(j) Then i = i - 1 Next Next Text1 = Join(a, vbCrLf)End Sub'請(qǐng)采納參考!謝謝!
當(dāng)前文章:vb.net隨機(jī)數(shù)生成 VB隨機(jī)數(shù)生成
新聞來(lái)源:http://muchs.cn/article48/doocsep.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站改版、做網(wǎng)站、自適應(yīng)網(wǎng)站、App開(kāi)發(fā)、域名注冊(cè)、定制網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)