新聞中心
VB.NET中函數(shù)Rnd能夠返回什么的隨機(jī)數(shù)
返回大于等于0小于1之間的隨機(jī)數(shù)。
創(chuàng)新互聯(lián)專注于茂南企業(yè)網(wǎng)站建設(shè),成都響應(yīng)式網(wǎng)站建設(shè),商城網(wǎng)站制作。茂南網(wǎng)站建設(shè)公司,為茂南等地區(qū)提供建站服務(wù)。全流程按需開發(fā),專業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,創(chuàng)新互聯(lián)專業(yè)和態(tài)度為您提供的服務(wù)
Visual Basic中隨機(jī)函數(shù)
格式:Rnd(數(shù)值表達(dá)式)
功能:求[0,1)之間的一個(gè)隨機(jī)數(shù)
語法:
Rnd[(number)]
如果 number 的值是 Randomize 生成
小于 0 ,每次都使用 number 作為隨機(jī)數(shù)種子得到的相同結(jié)果。
大于 0 ,以上一個(gè)隨機(jī)數(shù)為種子產(chǎn)生下一個(gè)隨機(jī)數(shù)。
等于 0 ,產(chǎn)生與最近生成的隨機(jī)數(shù)相同的隨機(jī)數(shù)。
省略, 以上一個(gè)隨機(jī)數(shù)為種子產(chǎn)生下一個(gè)隨機(jī)數(shù)。
說明
Rnd 函數(shù)返回小于 1 但大于或等于 0 的值。
number 的值決定了 Rnd 生成隨機(jī)數(shù)的方式。
對最初給定的種子都會(huì)生成相同的數(shù)列,因?yàn)槊恳淮握{(diào)用 Rnd 函數(shù)都用數(shù)列中的前一個(gè)數(shù)作為下一個(gè)數(shù)的種子。
在調(diào)用 Rnd 之前,先使用無參數(shù)的 Randomize語句初始化隨機(jī)數(shù)生成器(若帶參數(shù),則產(chǎn)生由參數(shù)對應(yīng)的一個(gè)特定序列的隨機(jī)數(shù)),該生成器具有根據(jù)系統(tǒng)計(jì)時(shí)器得到的種子。
為了生成某個(gè)范圍內(nèi)的隨機(jī)整數(shù),可使用以下公式:
Int((upperbound - lowerbound + 1) * Rnd + lowerbound)
這里,upperbound 是隨機(jī)數(shù)范圍的上限,而 lowerbound 則是隨機(jī)數(shù)范圍的下限。
注意 若想得到重復(fù)的隨機(jī)數(shù)序列,在使用具有數(shù)值參數(shù)的 Randomize 之前直接調(diào)用具有負(fù)參數(shù)值的 Rnd。使用具有同樣 number 值的 Randomize 是不會(huì)得到重復(fù)的隨機(jī)數(shù)序列的。
VB中的rnd函數(shù)是什么
Rnd
函數(shù)返回小于
1
但大于或等于
的值。
number
的值決定了
Rnd
生成隨機(jī)數(shù)的方式。
對最初給定的種子都會(huì)生成相同的數(shù)列,因?yàn)槊恳淮握{(diào)用
Rnd
函數(shù)都用數(shù)列中的前一個(gè)數(shù)作為下一個(gè)數(shù)的種子。
在調(diào)用
Rnd
之前,先使用無參數(shù)的
Randomize
語句初始化隨機(jī)數(shù)生成器,該生成器具有根據(jù)系統(tǒng)計(jì)時(shí)器得到的種子。
為了生成某個(gè)范圍內(nèi)的隨機(jī)整數(shù),可使用以下公式:
Int((upperbound
-
lowerbound
+
1)
*
Rnd
+
lowerbound)
這里,upperbound
是隨機(jī)數(shù)范圍的上限,而
lowerbound
則是隨機(jī)數(shù)范圍的下限。
Randomize
使用
number
參數(shù)初始化
Rnd
函數(shù)的隨機(jī)數(shù)生成器,賦給它新的種子值。如果省略
number,則使用系統(tǒng)計(jì)時(shí)器返回的值作為新的種子值。
如果不使用
Randomize,則第一次調(diào)用
Rnd
函數(shù)(無參數(shù))時(shí),它將使用相同的數(shù)字作為種子值,隨后使用最后生成的數(shù)值作為種子值。
注意
要重復(fù)隨機(jī)數(shù)的序列,請?jiān)谑褂脭?shù)值參數(shù)調(diào)用
Randomize
之前,立即用負(fù)值參數(shù)調(diào)用
Rnd。使用相同的
number
值的
Randomize
不能重復(fù)先前的隨機(jī)數(shù)序列。
《VB.NET》中的“Randomize(x)”和“Rnd(x)”
Rnd[(number)]
number
的值決定了
Rnd
生成隨機(jī)數(shù)的方式
如果
number
的值
Rnd
生成
小于
每次都使用
number
作為隨機(jī)數(shù)種子得到的相同結(jié)果。
大于
序列中的下一個(gè)隨機(jī)數(shù)。
等于
最近生成的數(shù)。
省略
序列中的下一個(gè)隨機(jī)數(shù)。
====================
先討論沒有加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
而你說的X0
X0沒差別
是錯(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í)器返回的值作為新的種子值。
如果沒有使用
Randomize,則(無參數(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.netrnd函數(shù) n vbrwnd net
URL標(biāo)題:http://www.dlmjj.cn/article/dodooeh.html