返回大于等于0小于1之間的隨機(jī)數(shù)。
創(chuàng)新互聯(lián)專業(yè)為企業(yè)提供衡南網(wǎng)站建設(shè)、衡南做網(wǎng)站、衡南網(wǎng)站設(shè)計(jì)、衡南網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計(jì)與制作、衡南企業(yè)網(wǎng)站模板建站服務(wù),十余年衡南做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(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ù)的方式。
對(duì)最初給定的種子都會(huì)生成相同的數(shù)列,因?yàn)槊恳淮握{(diào)用 Rnd 函數(shù)都用數(shù)列中的前一個(gè)數(shù)作為下一個(gè)數(shù)的種子。
在調(diào)用 Rnd 之前,先使用無參數(shù)的 Randomize語句初始化隨機(jī)數(shù)生成器(若帶參數(shù),則產(chǎn)生由參數(shù)對(duì)應(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ù)序列的。
(一)類型轉(zhuǎn)換類函數(shù)
1. CType(X)
[格式]:
P=CBool(X)
' 將X轉(zhuǎn)換為"布爾"(Boolean)類型
P=CByte(X)
' 將X轉(zhuǎn)換為"字節(jié)"(Byte)類型
P=CCur(X)
' 將X轉(zhuǎn)換為"金額"(Currency)類型
P=CDate(X)
' 將X轉(zhuǎn)換為"日期"(Date)類型
P=CDbl(X)
' 將X轉(zhuǎn)換為"雙精度"(Double)類型
P=CInt(X)
' 將X轉(zhuǎn)換為"整型"(Integer)類型
P=CLng(X)
' 將X轉(zhuǎn)換為"長(zhǎng)整型"(Long)類型
P=CSng(X)
' 將X轉(zhuǎn)換為"單精度"(Single)類型
P=CStr(X)
' 將X轉(zhuǎn)換為"字符串"(String)類型
P=Cvar(X)
' 將X轉(zhuǎn)換為"變體型"(Variant)類型
P=CVErr(X)
' 將X轉(zhuǎn)換為Error值
[ 范例 ]:
(1). CStr(13)+CStr(23)
' 數(shù)值轉(zhuǎn)換成字符串后,用"+"號(hào)連接, 結(jié)果:1323
(2). CInt("12")+12
' 字符串轉(zhuǎn)換成整型后與12相加, 結(jié)果:24
(3). P=CInt(True)
' 輸出結(jié)果為-1
' 布爾值與數(shù)值的轉(zhuǎn)換時(shí)要注意,布爾值只有True和False,其中True在內(nèi)存中為-1,False存為0
(4). CBool(-0.001)
' 輸出結(jié)果為True
' 將數(shù)值轉(zhuǎn)換為布爾型時(shí),等于0的數(shù)值將得到False,不等于0的數(shù)值得到True.
2. Int(X),Fix(X):取X的整數(shù)值
[格式]:
P=Int(X) ' 取=X的最大整數(shù)值
P=Fix(X) ' 取X的整數(shù)部分,直接去掉小數(shù)
[范例]:
(1) Int(-54.6)
' 結(jié)果為-55,取=-54.6的最大整數(shù)
(2) Fix(54.6)
' 結(jié)果為54,取整數(shù)并直接去掉小數(shù)
(二)常用數(shù)學(xué)函數(shù)
[格式]:
1. Abs(N) 取絕對(duì)值
例:Abs(-3.5) 結(jié)果:3.5
2. Cos(N) 余弦函數(shù)
例:Cos(0) 結(jié)果:1
3. Exp(N) e為底的指數(shù)函數(shù)
例:Exp(3) 結(jié)果:20.068
4. Log(N) 以e為底的自然對(duì)數(shù)
例:Log(10) 結(jié)果:2.3
5. Rnd[(N) 產(chǎn)生隨機(jī)數(shù)
例:Rnd 結(jié)果:0--1之間的數(shù)
6. Sin(N) 正弦函數(shù)
例:Sin(0) 結(jié)果:0
7. Sgn(N) 符號(hào)函數(shù)
' 說明:取正負(fù)號(hào)。Y=Sgn(X) 既 X0 則Y=1;X=0 則Y=0;X0 則Y= -1
8. Sqr(N) 平方根
例:Sqr(9) 結(jié)果:3
9. Tan(N) 正切函數(shù)
例:Tan(0) 結(jié)果:0
10.Atn(N) 反切函數(shù)
例:Atn(0) 結(jié)果:0
[注意]:在三角函數(shù)中,以弧度表示。
(一)字符串類函數(shù):
1. ASC(X),Chr(X):轉(zhuǎn)換字符字符碼
[格式]:
P=Asc(X) 返回字符串X的第一個(gè)字符的字符碼
P=Chr(X) 返回字符碼等于X的字符
[范例]:
(1)P=Chr(65)
'輸出字符A,因?yàn)锳的ASCII碼等于65
(2)P=Asc("A")
'輸出65
2. Len(X):計(jì)算字符串X的長(zhǎng)度
[格式]:
P=Len(X)
[說明]:
空字符串長(zhǎng)度為0,空格符也算一個(gè)字符,一個(gè)中文字雖然占用2 Bytes,但也算一個(gè)字符。
[范例]:
(1) 令X="" (空字符串)
Len(X) 輸出結(jié)果為0
(2) 令X="abcd"
Len(X) 輸出結(jié)果為4
(3) 令X="VB教程"
Len(X) 輸出結(jié)果為4
3. Mid(X)函數(shù):讀取字符串X中間的字符
[格式]:
P=Mid(X,n)
由X的第n個(gè)字符讀起,讀取后面的所有字符。
P=Mid(X,n,m)
由X的第n個(gè)字符讀起,讀取后面的m個(gè)字符。
[范例]:
(1) X="abcdefg"
P=Mid(X,5)
結(jié)果為:P="efg"
(2) X="abcdefg"
P=Mid(X,2,4)
結(jié)果為P="bcde"
4. Replace: 將字符串中的某些特定字符串替換為其他字符串
[格式]:
P=Replace(X,S,R)
[說明]:將字符串X中的字符串S替換為字符串R,然后返回。
[范例]:
X="VB is very good"
P=Replace(X,good,nice)
輸出結(jié)果為:P="VB is very nice"
5. StrReverse:反轉(zhuǎn)字符串
[格式]:
P=StrReverse(X)
[說明]:
返回X參數(shù)反轉(zhuǎn)后的字符串
[范例]:
(1)X="abc"
P=StrReverse(X)
輸出結(jié)果:P="cba"
6. Ucase(X),Lcase(X):轉(zhuǎn)換英文字母的大小寫
[格式]:
P=Lcase(X)
'將X字符串中的大寫字母轉(zhuǎn)換成小寫
P=Ucase(X)
'將X字符串中的小寫字母轉(zhuǎn)換成大寫
[說明]:除了英文字母外,其他字符或中文字都不會(huì)受到影響。
[范例]:
(1) 令 X="VB and VC"
則Lcase(X)的結(jié)果為"vb and vc",Ucase(X)的結(jié)果為"VB AND VC"
7. InStr函數(shù):尋找字符串
[格式]:
P=InStr(X,Y)
從X第一個(gè)字符起找出Y出現(xiàn)的位置
P=InStr(n,X,Y)
從X第n個(gè)字符起找出Y出現(xiàn)的位置
[說明]:
(1) 若在X中找到Y(jié),則返回值是Y第一個(gè)字符出現(xiàn)在X中的位置。
(2) InStr(X,Y)相當(dāng)于InStr(1,X,Y)。
(3) 若字符串長(zhǎng)度,或X為空字符串,或在X中找不到Y(jié),則都返回0。
(4) 若Y為空字符串,則返回0。
(二)日期時(shí)間類函數(shù):
1. Year(X),Month(X),Day(X):取出年,月,日
[格式]:
P=Year(X)
取出X"年"部分的數(shù)值
P=Month(X)
取出X"月"部分的數(shù)值
P=Day(X)
取出X"日"部分的數(shù)值
[說明]:Year返回的是公元年,若X里只有時(shí)間,沒有日期,則日期視為#1899/12/30#
2. Hour,Minute,Second函數(shù):取出時(shí),分,或秒
[格式]:
P=Hour(X)
取出X"時(shí)"部分的數(shù)值
P=Minute(X)
取出X"分"部分的數(shù)值
P=Second(X)
取出X"秒"部分的數(shù)值
[說明]:Hour的返回值是0---23之間
[范例]:
X=10:34:23
P=Hour(X)
Q=Minute(X)
R=Second(X)
則輸出結(jié)果:P=10,Q=34,R=23
3. DateSerial函數(shù):合并年,月,日成為日期
[格式]:DateSerial(Y,M,D)
其中Y是年份,M為月份,D為日期
[說明]:
(1) M值若大于12,則月份從12月起向后推算M-12個(gè)月;若小于1,則月份從1月起向后推算1-M個(gè)月。
(2) 若日期D大于當(dāng)月的日數(shù),則日期從當(dāng)月的日數(shù)起,向后推算D-當(dāng)月日數(shù);若小于1,則日期從1日起向前推算1-D日。
[范例]:
P=DateSerial(2000,02,02)
則結(jié)果為P=2000/02/02
4.TimeSerial函數(shù):合并時(shí),分,秒成為時(shí)間
[格式]:P=TimeSerial(H,M,S)
其中H為小時(shí)數(shù),M為分鐘數(shù),S為秒數(shù)
[說明]:推算原理同上面的DateSerial
[范例]:
P=TimeSerial(6,32,45)
結(jié)果為:P=6:32:45
5.Date,Time,Now函數(shù):讀取系統(tǒng)的日期時(shí)間
[格式]:
P=Date()
P=Time()
P=Now()
[說明]:這三個(gè)函數(shù)都無參數(shù)
[范例]:
若當(dāng)前時(shí)間為2003年8月29日晚上19點(diǎn)26分45秒,則
P=Now()
結(jié)果為:P=2003-08-29 19:26:45
6.MonthName:返回月份名稱
[格式]:P=MonthName(X)
[說明]:X參數(shù)可傳入1---12,則返回值為"一月"、"二月"……,但是在英文Windows環(huán)境下,返回的是"January","February"……
[范例]:
P=MonthName(1)
則P="一月"
7.WeekdayName:返回星期名稱
[格式]:P=WeekdayName(X)
[說明]:X參數(shù)可傳入1—7,則返回值為"星期日","星期一"……,但是在英文windows環(huán)境下,返回的是"Sunday","Monday"……
[范例]:
P=WeekdayName(1)
結(jié)果為:P="星期日"
函數(shù)名稱 函數(shù)功能
Cbool(string) 轉(zhuǎn)換為布爾值
Cbyte(string) 轉(zhuǎn)換為字節(jié)類型的值
Ccur(string) 轉(zhuǎn)換為貨幣類值
Cdate(string) 轉(zhuǎn)換為日前類型的值
Cdbl(string) 轉(zhuǎn)換為雙精度值
Cint(string) 轉(zhuǎn)換為整數(shù)值
Clng(string) 轉(zhuǎn)換為長(zhǎng)整型的值
Csng(string) 轉(zhuǎn)換為單精度的值
Cstr(var) 轉(zhuǎn)換為字符串值
Str(var) 數(shù)值轉(zhuǎn)換為字符串
Val(string) 字符串轉(zhuǎn)換為數(shù)值
***************************************
Abs(nmb) 返回?cái)?shù)子的絕對(duì)值
Atn(nmb) 返回一個(gè)數(shù)的反正切
Cos(nmb) 返回一個(gè)角度的余炫值
Exp(nmb) 返回自然指數(shù)的次方值
Int(nmb) 返回?cái)?shù)字的整形(進(jìn)位)部份 8.4--9
Fix(nmb) 返回?cái)?shù)字的整形(舍去)部份 8.4--8
Formatpercent(表達(dá)式) 返回百分比
Hex(nmb) 返回?cái)?shù)據(jù)的16進(jìn)制數(shù)
Log(nmb) 返回自然對(duì)數(shù)
Oct(nmb) 返回?cái)?shù)字的8進(jìn)制數(shù)
Rnd 返回大于“0”而小于“1”的隨機(jī)數(shù)
Sgn(nmb) 判斷一個(gè)數(shù)字的正負(fù)號(hào)
Sin(nmb) 返回角度的正鉉值
Sqr(nmb) 返回?cái)?shù)字的二次方根
Tan(nmb) 返回一個(gè)數(shù)的正切值
Asc(string) 返回ASCII字符串
Chr(charcode) 根據(jù)字符代碼返回字符
Instr(string,searchstr) 返回被搜索字符串的第一個(gè)字符位置,string是字符串,searchstr是被搜索的字符串
InstrRev(string,searchstr) 同上,只是從右面開始搜索
Lcase(var) 把字符串變?yōu)樾?/p>
Left(string,nmb) 從string中返回從左面開始的nmb個(gè)字符串
Len(string) 返回字符串的長(zhǎng)度
Ltrim(string) 截去字符串左邊的空格
Filter(inputstrings,value) 返回字符串?dāng)?shù)組的字集,Inputstrings是字符串組,value是在數(shù)組中尋找的字符
Rtrim(string) 截去字符串右邊的空格
Trim(string) 截去字符串前后空格
Mid(string,start,len) 在string中返回從start位置開始的len個(gè)字符
Replace(string,find,withstr) 在字符串string中,用withstr來替換find字符串
Right(string,nmb) 從string中返回從右面開始的nmb個(gè)字符串
Space(nmb) 返回指定空格的字符串
StrComp(string1,string2) 比較兩個(gè)字符串
Ucase(string) 把字符串變?yōu)榇髮?/p>
****************************************
Date() 返回當(dāng)前系統(tǒng)日期
DateAdd(interval,nmb,date) 用一個(gè)基礎(chǔ)時(shí)間返回指定增加了時(shí)間間隔的日期,interval是間隔類型,yyyy-年,m-月,d-日,h-小時(shí),n-分。
DateDiff(interval,nmb1,nmb2) 返回兩個(gè)時(shí)間間隔,interval的意思同上
Datevalue(date) 發(fā)揮Date中的日期部份
Day(date) 返回天數(shù)
FormatDatetime(date) 返回格式化為日期的表達(dá)式
Hour(time) 返回時(shí)間的小時(shí)數(shù)
Minute(time) 返回時(shí)間的分鐘數(shù)
Month(date) 返回日期中的月份
Now() 返回系統(tǒng)的日期和時(shí)間
Second(time) 返回時(shí)間中的秒數(shù)
Time() 返回系統(tǒng)的當(dāng)前時(shí)間
Weekday(date) 返回星期幾
WeekdayName(date) 返回星期幾的中文名
Year(date) 返回年份
IsArray(var) 判斷一個(gè)變量是否是數(shù)組
IsDate(var) 判斷一個(gè)變量是否是日期
IsNull(var) 判斷一個(gè)變量是否為空
IsNumeric 判斷表達(dá)式是否包含數(shù)值
IsObject(var) 判斷一個(gè)變量是否是對(duì)象
TypeName(var) 返回變量的數(shù)據(jù)類型
************************************
Array(list) 返回?cái)?shù)組
CreateObject(class) 創(chuàng)建一個(gè)對(duì)象
GetObject(pathfilename) 得到文件對(duì)象
Inputbox(prompt) 提供一個(gè)可供輸入數(shù)據(jù)的對(duì)話框
LBound(arrayP) 返回?cái)?shù)組的最小索引
Msgbox(string) 輸出一個(gè)消息框
Split(liststr) 從一個(gè)列表字符串中返回一個(gè)一維數(shù)組
Ubound(array) 返回?cái)?shù)組的最大索引
-1.52341E-13
科學(xué)計(jì)數(shù)法,10的-13次方表示此數(shù)已經(jīng)接近于0了,應(yīng)該是single類型的精度導(dǎo)致的,你把精度設(shè)置適當(dāng)應(yīng)該就可以了。
絕對(duì)值是“|”,可以直接顯示,同理對(duì)數(shù)可用log(x)代替,根號(hào)和其他不支持顯示。
如果要顯示數(shù)學(xué)式子,只能畫吧。
計(jì)算時(shí)可用“^”求冪或求根,“/”表示除法和分?jǐn)?shù)線,還有math類。
首先vb.net是一種編程語言,它自己是沒有的。
但vb.net與c#、vc++.net等其它編程語言共用一個(gè)公共類庫(kù)(叫框架類庫(kù)),這個(gè)類庫(kù)在命名空間System中提供了一個(gè)類叫Math(Public NotInheritable Class Math)。它為三角函數(shù)、對(duì)數(shù)函數(shù)和其他通用數(shù)學(xué)函數(shù)提供了常數(shù)和靜態(tài)方法,其中就包括Max。
使用Math.Round(),注意返回值可能為Double或Decimal。
如果取整,第二個(gè)參數(shù)不填或者填0
默認(rèn)采用 四舍六入五成雙,如果想四舍五入,請(qǐng)采用MidpointRounding.AwayFromZero作為第三個(gè)參數(shù)
Dim?數(shù)字?As?Double?=?2.45
Dim?r1?As?Double?=?Math.Round(數(shù)字,?1,?MidpointRounding.ToEven)?'??r1?=?2.4?四舍六入五成雙
Dim?r2?As?Double?=?Math.Round(數(shù)字,?1,?MidpointRounding.AwayFromZero)?'?r2?=?2.5?四舍五入
當(dāng)前文章:vb.net中的數(shù)學(xué)函數(shù) VB函數(shù)大全
標(biāo)題來源:http://m.rwnh.cn/article24/doojpje.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供電子商務(wù)、微信小程序、網(wǎng)站導(dǎo)航、網(wǎng)站收錄、網(wǎng)站改版、品牌網(wǎng)站設(shè)計(jì)
聲明:本網(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í)需注明來源: 創(chuàng)新互聯(lián)