Rnd[(number)]
創(chuàng)新互聯(lián)是一家集網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì)、網(wǎng)站頁(yè)面設(shè)計(jì)、網(wǎng)站優(yōu)化SEO優(yōu)化為一體的專業(yè)網(wǎng)站建設(shè)公司,已為成都等多地近百家企業(yè)提供網(wǎng)站建設(shè)服務(wù)。追求良好的瀏覽體驗(yàn),以探求精品塑造與理念升華,設(shè)計(jì)最適合用戶的網(wǎng)站頁(yè)面。 合作只是第一步,服務(wù)才是根本,我們始終堅(jiān)持講誠(chéng)信,負(fù)責(zé)任的原則,為您進(jìn)行細(xì)心、貼心、認(rèn)真的服務(wù),與眾多客戶在蓬勃發(fā)展的市場(chǎng)環(huán)境中,互促共生。
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è)列表
程序開始時(shí)
得到0.7055475
執(zhí)行第二次rnd(1)得到0.533424
第三次0.5795186
你關(guān)閉程序重新打開
第一次得到還是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不寫
就和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都是省略不寫
VB的隨機(jī)數(shù)即使用Rnd函數(shù)生成的隨機(jī)數(shù)值。種子,為初始值,用來(lái)生成偽隨機(jī)數(shù)字。
Rnd 函數(shù),返回一個(gè)包含隨機(jī)數(shù)值的 Single。
對(duì)最初給定的種子都會(huì)生成相同的數(shù)列,因?yàn)槊恳淮握{(diào)用 Rnd 函數(shù)都用數(shù)列中的前一個(gè)數(shù)作為下一個(gè)數(shù)的種子。
在調(diào)用 Rnd 之前,先使用無(wú)參數(shù)的 Randomize 語(yǔ)句初始化隨機(jī)數(shù)生成器,該生成器具有根據(jù)系統(tǒng)計(jì)時(shí)器得到的種子。
種子,為初始值,用來(lái)生成偽隨機(jī)數(shù)字。例如, Randomize 語(yǔ)句創(chuàng)建一種子值供 Rnd 函數(shù)使用,以接著創(chuàng)建唯一偽隨機(jī)數(shù)列。
Randomize 語(yǔ)句,初始化隨機(jī)數(shù)生成器。
說(shuō)明
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ù)的種子值。
Randomize 語(yǔ)句示例
本示例用 Randomize 語(yǔ)句初始化隨機(jī)數(shù)生成器。由于忽略了數(shù)值參數(shù), 所以
Randomize 用 Timer 函數(shù)的返回值作為新的隨機(jī)數(shù)種子值。
Dim MyValue
Randomize ? ' 對(duì)隨機(jī)數(shù)生成器做初始化的動(dòng)作。
MyValue = Int((6 * Rnd) + 1) ? ' 生成 1 到 6 之間的隨機(jī)數(shù)值。
Randomize()的作用是初始化隨機(jī)數(shù)種子,
它有個(gè)帶參數(shù)的版本
Randomize(double
seed)
seed是產(chǎn)生隨機(jī)數(shù)序列的一個(gè)標(biāo)號(hào),如果你不調(diào)用Randomize改變這個(gè)標(biāo)號(hào),默認(rèn)使用的是同一個(gè)序列,所以每次你啟動(dòng)程序生成的隨機(jī)數(shù)都是相同的,不帶參數(shù)的Randomize等價(jià)于Randomize(Timer),也就是使用系統(tǒng)時(shí)鐘作為隨機(jī)數(shù)種子
因?yàn)檫@個(gè)值隨程序啟動(dòng)或調(diào)用每次都不會(huì)相同,所以能實(shí)現(xiàn)產(chǎn)生不同的隨機(jī)數(shù)
有幾個(gè)錯(cuò)誤需要指出: Dim random As New Random (DateTime.Now.MilliSecond) //此處建議您設(shè)置隨機(jī)數(shù)種子,不然數(shù)據(jù)都是一樣的。
Dim n As Integer
For n = 1 To 10
LstData.Items.Add(random.Next(25)) //產(chǎn)生0~24之間的隨機(jī)整數(shù)。
網(wǎng)頁(yè)標(biāo)題:vb.net置隨機(jī)種子 vb隨機(jī)文件
鏈接分享:http://muchs.cn/article26/hgiecg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供關(guān)鍵詞優(yōu)化、移動(dòng)網(wǎng)站建設(shè)、品牌網(wǎng)站設(shè)計(jì)、虛擬主機(jī)、ChatGPT、靜態(tài)網(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)