(一)類型轉(zhuǎn)換類函數(shù)
成都創(chuàng)新互聯(lián)公司-成都網(wǎng)站建設(shè)公司,專注網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計(jì)、網(wǎng)站營(yíng)銷推廣,申請(qǐng)域名,虛擬空間,網(wǎng)站托管維護(hù)有關(guān)企業(yè)網(wǎng)站制作方案、改版、費(fèi)用等問題,請(qǐng)聯(lián)系成都創(chuàng)新互聯(lián)公司。
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ù)組的最大索引
以下是VB.net自己編的輸出N-M范圍所有質(zhì)數(shù)的函數(shù),效率很高,1-1000000不到1秒。
VB6.0也可以使用,1.把#Region和括號(hào)內(nèi)的語句都刪除
2.把Microsoft.VisualBasic.Right改為Right
3.把Math.Log改為L(zhǎng)og
#Region "■ 選質(zhì)數(shù) | ListPrime"
''' summary
''' 返回整數(shù)數(shù)組,表示指定自然數(shù)區(qū)間內(nèi)的所有質(zhì)數(shù)。
''' /summary
''' param name="頭自然數(shù)"可選,默認(rèn)值為1。[Integer類],區(qū)間起始的自然數(shù)。/param
''' param name="尾自然數(shù)"可選,默認(rèn)值為2。[Integer類],區(qū)間結(jié)束的自然數(shù),必須大于頭自然數(shù)。/param
Public Function 選質(zhì)數(shù)(Optional ByVal 頭自然數(shù) As Integer = 1, Optional ByVal 尾自然數(shù) As Integer = 2) As Integer()
Dim 質(zhì)數(shù)估計(jì)數(shù)量 As Integer = Int(尾自然數(shù) * 1.2 / Math.Log(尾自然數(shù)))
Dim 質(zhì)數(shù)集合(質(zhì)數(shù)估計(jì)數(shù)量) As Integer
Dim 序號(hào) As Integer = 0 '已找到質(zhì)數(shù)的個(gè)數(shù)
Dim 測(cè)試數(shù) As Integer
Dim 平方根 As Integer
Dim 測(cè)試數(shù)增量 As Integer = 4
Dim 尾數(shù) As String
If 尾自然數(shù) 頭自然數(shù) Then Return Nothing
If 頭自然數(shù) 6 Then '6以內(nèi)的質(zhì)數(shù)直接給出
If 頭自然數(shù) = 2 Then 質(zhì)數(shù)集合(序號(hào)) = 2 : 序號(hào) += 1
If 頭自然數(shù) = 3 Then 質(zhì)數(shù)集合(序號(hào)) = 3 : 序號(hào) += 1
If 頭自然數(shù) = 5 Then 質(zhì)數(shù)集合(序號(hào)) = 5 : 序號(hào) += 1
測(cè)試數(shù) = 7
Else
測(cè)試數(shù) = 頭自然數(shù)
End If
Do Until 測(cè)試數(shù) = 尾自然數(shù)
尾數(shù) = Microsoft.VisualBasic.Right(CStr(測(cè)試數(shù)), 1)
If 尾數(shù) = "5" Then GoTo 跳過 '尾數(shù)為5的必然是合數(shù)
平方根 = Int(測(cè)試數(shù) ^ 0.5)
If 平方根 = 3 Then
For i As Integer = 3 To 平方根 Step 2
If 測(cè)試數(shù) Mod i = 0 Then GoTo 跳過
Next
End If
成立:
質(zhì)數(shù)集合(序號(hào)) = 測(cè)試數(shù)
序號(hào) += 1
跳過:
測(cè)試數(shù) += 測(cè)試數(shù)增量
測(cè)試數(shù)增量 = 6 - 測(cè)試數(shù)增量 '測(cè)試數(shù)增量在4和2間變化,只測(cè)試6n+1和6n+5
Loop
'按實(shí)際找到的質(zhì)數(shù)個(gè)數(shù)重定義集合
ReDim Preserve 質(zhì)數(shù)集合(序號(hào) - 1)
Return 質(zhì)數(shù)集合
End Function
#End Region
VB的運(yùn)算順序是:先乘除、后加減,有括號(hào)的先算括號(hào)內(nèi),有負(fù)號(hào)的先算負(fù)號(hào)。
請(qǐng)你比較一下這個(gè)運(yùn)算中x和y的值:
Dim n As Single = 4
Dim x As Single
Dim y As Single
x = n + 1
x = x / n
x = x - 1
x = Math.Sqrt(x)
y = Math.Sqrt((n + 1) / n - 1)
這樣就會(huì)發(fā)現(xiàn),你的代碼中括號(hào)的位置錯(cuò)了。
正確的應(yīng)該是: Math.Sqrt((n + 1) / n - 1)
問題不是很簡(jiǎn)單嗎?
判斷輸入的數(shù),大于等于零,則直接開方;小于零則取絕對(duì)值開方再加上字符"i",代碼我就不寫了.
分享名稱:vb.net平方根 vb求平方根
URL分享:http://chinadenli.net/article32/hpispc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站收錄、關(guān)鍵詞優(yōu)化、網(wǎng)站維護(hù)、網(wǎng)站制作、企業(yè)網(wǎng)站制作、企業(yè)建站
聲明:本網(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)