VB6 內建函數
VB6 內建函數:內建函數指的是事先設計好的各種函數,藉由這些函數可以幫助我們快速處理數字、文字、日期等資料…
-
數值函數:用來計算數值
數字函數 | 功能說明 | 範例 | 範例結果 |
---|---|---|---|
ABS(N) | 傳回N的絕對值 | ABS(-2) | 2 |
CInt(N) | 轉為整數型態(四捨六入五成雙) | CInt(2.5) CInt(3.5) | 2 4 |
Int(N) | 傳回等於或小於N的最大整數 | Int(2.4) Int(-2.4) | 2 -3 |
Fix(N) | 傳回N的整數部份,小數直接捨去 | Fix(2.4) Fix(-2.4) | 2 -2 |
Round(N,P) | 將N取四捨五入到小數後第P位後傳回結果(四捨六入五成雙) | Round(5/3,2) | 2.67 |
Rnd(N) | 傳回1個>=0且<1隨機亂數(即 0≦ Rnd <1) | Int(Rnd*10)+5 | 傳回5~14中任一整數 |
Randomize | 設定亂數種子,與Rnd配合使用 | Randomize Int(Rnd*10)+5 | |
SQR(N) | 傳回N的根號 | SQR(4) | 2 |
Sgn(N) | 判斷數字N的正負符號 | Sgn(4) Sgn(0) Sgn(-4) | 1 0 -1 |
Log(N) | 傳回自然對數值 | Log(2)/Log(10) | 0.301029995663981 |
Exp(N) | 自然對數e的N次方 | Exp(1) | 2.71828182845905 |
Sin(N) Cos(N) Tan(N) | 傳回N的正弦值…等,N的單位是弳度,不是角度 範列中的PI=3.14159265358979 | Sin(PI/6) | 0.5 |
UBound(A,N) | 傳回陣列A中所指定維度N的最高可用註標。N省略,則表示第1維。 | dim data(10,3) as integer UBound(data) UBound(data,2) | 10 3 |
LBound(A,N) | 傳回陣列A中所指定維度N的最低可用註標。N省略,則表示第1維。 | dim data(10,3) as integer LBound(data) LBound(data,2) | 0 0 |
-
字串函數:用來處理文字,在VB中用敘極廣,請特別留意。
字串函數 | 功能說明 | 範例 | 範例結果 |
---|---|---|---|
Chr(N) | 傳回ASCII碼為N的字元 | Chr(65) | "A" |
Asc(S) | 傳回字串S第1個字元的ASCII碼 | Asc("A") | 65 |
Hex(N) | 轉為16進位字串 | Hex(16) | "10" |
Oct(N) | 轉為8進位字串 | Oct(16) | "20" |
Val(S) | 將S字串轉成數值 | Val("123") Val("52A") Val("xxx") | 123 52 0 |
Str(N) | 將數字N轉換成字串型態 注意:正數前會有一個空白 | Str(23) Val(-43) | " 23" "-43" |
Len(S) | 取得字串S的長度(字元數) | Len("ABCDE") | 5 |
Left(S,N) | 取得字串S左邊的N的字元 | Left("ABCDE",2) | "AB" |
Right(S,N) | 取得字串S右邊的N的字元 | Right("ABCDE",2) | "DE" |
Mid(S,M,N) | 從字串S第M個字元開始取得N個字元 | Mid("ABCDE",2,3) | "BCD" |
UCase(S) | 將字串S的所有英文小寫字母轉成大寫字母 | UCase("AbcDe") | "ABCDE" |
LCase(S) | 將字串S的所有英文大寫字母轉成小寫字母 | LCase("AbcDe") | "abcde" |
Trim(S) LTrim(S) RTrim(S) | 去除字串S兩側的空白字元(左側、右側) | Trim(" A B ") | "A B" |
String(N,S) | 傳回N個S字元,S可以是字元,也可以是ASCII碼 | String(4,"A") String(4,66) | "AAAA" "BBBB" |
StrReverse(S) | 將字串反過來 | StrReverse("ABCDE") | "EDCBA" |
InStr(S,F) | 從字串S中尋找F字串,若找到則傳回S字串中F出現的位置,若找不到則傳回0 | InStr("ABCDABCD","D") InStr("ABCDEF","CC") | 4 0 |
InStr(m,S,F) | 與上例相同,但指定從字串S的第m個字元開始尋找,而不是從頭找 | InStr(6,"ABCDABCD","D") | 8 0 |
Replace(S,F,R) | 從字串S中尋找字串F,並以字串R取代。 | Replace("ABCDE","BCD","xxx") | "AxxxE" |
Join(X,a) | 合併陣列為 以a符號 分隔的字串 。 | x(0) = "Hello" x(1) = "World" Y= join(x,"-") | Y = "Hello-World" |
Split(X,a) | 以a為分隔符號,將X字串打散成陣列 。 | X = "Hello-World" Y = split(X,"-") | Y(0)="Hello" Y(1) = "World" |
Format(S,F) | 將字串S依據指定的格式F重新產生字串 左側例子中 Time是時間函數,傳回目前的時間 Date是日期函數,傳回目前的日期 D=#1/27/1993# T=#5:04:23 PM# 詳細說明 | Format(Time, "Long Time") Format(Time, "Long Date") Format(T, "h:m:s") Format(T, "hh:mm:ss AMPM") Format(D, "dddd, mmmm d yyyy") Format(5365.6, "##,##0.00") Format(534.9, "###0.00") Format(2.5, "0.00%") Format("HELLO", "<") Format("hello", ">") | 下午 03:09:46 1899年12月30日 17:4:23 05:04:23 下午 Wednesday, January 27 1993 5,365.60 534.90 250.00% hello HELLO |
- 日期時間函數:用來處理日期與時間。
日期時間函數 | 功能說明 | 範例 | 範例結果 |
---|---|---|---|
Now | 傳回目前的日期及時間,不用加任何參數 (Now 等於 Date 加上 Time ?) | Now | 2007/10/12 上午 09:24:44 |
Date | 傳回目前的日期,不用加任何參數 | Date | 2007/10/12 |
Time | 傳回目前的時間,不用加任何參數 | Now | 上午 09:24:44 |
Year(D) | 依指定的時間參數(D),傳回年 | Year(Now) | 2007 |
Month(D) | 依指定的時間參數(D),傳回月份 | Day(Now) | 10 |
MonthName(M) | 依指定的月份數字參數(M),傳回月份的名稱 | MonthName(1) | 一月 |
Day(D) | 依指定的時間參數(D),傳回1~31的日期 | Day(Now) | 12 |
Hour(T) | 依指定的時間參數(Time),傳回小時 | Hour(Now) | 9 |
Minute(T) | 依指定的時間參數(Time),傳回分鐘 | Month(Now) | 24 |
Second(T) | 依指定的時間參數(Date),傳回秒數 | Second(Now) | 44 |
Weekday(D) | 傳回包含表示週中星期幾的 Integer 值。 星期日 - 1 ~ 星期六 - 7 | Weekday(Date) | |
WeekdayName(N) | 傳回包含指定星期名稱的 String 值 | WeekdayName(1) WeekdayName(7) | 星期日 星期六 |
留言
張貼留言