常用內部函數
數學函數
|
函數
|
功能
|
示例
|
結果
|
說明
|
| Abs(x) | 絕對值 | Abs(-50.3) | 50.3 | |
| Exp(x) | 自然指數 | Exp(2) | e^2 | e(自然對數的底)的某次方 |
| Fix(x) | 取整(取參數的整數部分) | Fix(-99.8) | -99 | 參數大於 0 時,去掉小數部分;參數小於 0 時,返回大於或等於該參數值 |
| Int(x) | 取整(取小於或等於參數的最大整數) | Int(-99.8) Int(99.8) |
-100 99 |
參數大於 0 時,去掉小數部分;參數小於 0 時,返回小於或等於該參數值 |
| Log(x) | 常用對數 | Log(1) | 0 | 求自然對數值 |
| Rnd | 隨機產生0~1的單精度值 | Int(6*Rnd)+1 | 1~6 | 要產生一個從Min到Max的整數,應使用公式Int((Max-Min+1)*Rnd+Min) |
| Round(x,n) | 按小數位數四舍五入 | Round(3.14159,3) | 3.142 | 第2個參數為小數位數 |
| Sgn(x) | 取參數的符號值 | Sgn(8.8) Sgn(-8.8) Sgn(0) |
1 -1 0 |
參數大於0,返回1 參數小於0,返回-1 參數等於0,返回0 |
| Sin(x) | 正弦 | Sin(3.14159265/180*90) | 1 | 三角函數以“弧度”為單位 |
| Cos(x) | 余弦 | Cos(3.14159265/180*180) | -1 | |
| Atn(x) | 計算反正切 | Atn(1) | 0.7854 | |
| Tan(x) | 計算正切 | Tan(3.14159265/180*45) | 1 | |
| Sqr(x) | 算術平方根 | Sqr(9) | 3 | 相當於 |
字符串函數
|
函數
|
功能
|
示例
|
結果
|
說明
|
| Len(x) | 求字符串的長度(字符個數) | Len("Vb技術") | 4 | |
| LenB(x) | 求字符串的字節個數 | LenB("Vb技術") | 8 | VB中采用Unicode(ISO字符標准)來存儲字符,所有字符都占2個字節 |
| Mid(x,n1,n2) | 從x字符串左邊第n1個位置開始向右取n2個字符 | Mid("Vb技術",2,2) | "b技" | |
| Left(x,n) | 從x字符串左邊開始取n個字符 | Left("Vb技術",3) | "Vb技" | |
| Right(X,n) | 從x字符串右邊開始取n個字符 | Right("Vb技術",3) | "b技術" | |
| UCase(x) | 將x字符串中所有小寫字母轉換為大寫 | UCase("Vb技術") | "VB技術" | |
| LCase(x) | 將x字符串中所有大寫字母轉換為小寫 | LCase("Vb技術") | "vb技術" | |
| Trim(x) | 去掉x字符串兩邊的空格 | Trim(" Vb 技術 ") | "Vb 技術" | |
| Ltrim(x) | 去掉x字符串左邊的空格 | Ltrim(" Vb 技術 ") | "Vb 技術 " | |
| Rtrim(x) | 去掉x字符串右邊的空格 | Rtrim(" Vb 技術 ") | " Vb 技術" | |
| Instr(x1,x2,M) | 返回字符串x2在字符串x1中的位置,M=1不區分大小寫,省略則區分 | Instr("baBBAC","BA") | 4 | 找不到則返回0 |
| String(n,x) | 返回由n個首字符組成的字符串 | String(3,"AB") | "AAA" | |
| Space(n) | 返回n個空格 | Space(3) | " " |
日期和時間函數
|
函數
|
功能
|
示例
|
結果
|
說明
|
| Date | 返回系統日期 | Date | 2006-9-1 | (yyyy-mm-dd) |
| Time | 返回系統時間 | Time | 15:45:33 | (hh:mm:ss) |
| Now | 返回系統日期和時間 | Now | 2006-9-1 15:45:33 | (yyyy-mm-dd hh:mm:ss) |
| Year(c) | 返回指定日期的年份 | Year("2006-9-1")或 Year(#9/1/2006#) |
2006 | |
| Month(c) | 返回指定日期的月份 | Month("2006-9-1") | 9 | |
| Day(c) | 返回指定日期的日子 | Day("2006-9-1") | 1 | |
| Weekday() | 返回指定日期的星期幾 | Weekday("2006-9-1") | 6 | 星期日為1 |
| Hour() | 返回指定時間的時數 | Hour("15:45:33") | 15 | |
| Minute() | 返回指定時間的分數 | Minute(Now) | 45 | 假定系統時間為15:45:33 |
增減日期函數: DateAdd(要增減日期形式,增減量,要增減的日期)
例:計算2周后的日期:DateAdd("ww",2,#9/1/2006#),結果 "2006-9-15"
求日期之差函數: DateDiff(要間隔日期形式,日期一,日期二)
例:計算生日還有多少天: DateDiff("d", Now, #12/1/2006#) ,結果為 74
函數中的“要增減日期形式”或“要間隔日期形式”可參見下表中的形式:
|
日期形式
|
yyyy
|
q
|
m
|
y
|
d
|
w
|
ww
|
h
|
n
|
s
|
|
意義
|
年
|
季
|
月
|
一年的天數
|
日
|
一周的天數
|
星期
|
時
|
分
|
秒
|
數據類型轉換函數
|
函數
|
功能
|
示例
|
結果
|
說明
|
| Str(x) | 將數值轉換為字符串 | Str(45.2) | "45.2" | |
| Val(x) | 將字符串中的數字轉換成數值 | Val("2.3ab") Val("a23") |
2.3 0 |
|
| Asc(x) | 求字符ASCII值 | Asc("a") | 97 | |
| Chr(x) | 將數值(ASCII碼)轉換為字符 | Chr(65) | "A" | |
| CBool(x) | 將數字字符串或數值轉換成布爾型 | CBool(1) CBool("0") |
True False |
等於0為False,不等於0為True |
| CDate(x) | 將有效的日期字符串轉換成日期 | CDate(#1990,2,23#) | "1990-2-23" | |
| CSng(x) | 將數值轉換成單精度型 | CSng(23.5125468) | 23.51255 | |
| CDbl(x) | 將數值轉換成雙精度型 | CDbl(23.5125468) | 23.5125468 |
