vb常用函数

Time 返回系统时钟的当前时间。 
Date 返回系统时钟的当前日期。 
Now 返回代表当前日期和时间的编码值。该函数经常用作其它系统时钟函数的参数。 
Hour(Time) 返回指定时间的小时部分(0到23)。 
Minute(Time) 返回指定时间的分钟部分(0到59)。  
Second(Time) 返回指定时间的秒部分(0到59)。  
Day(Date) 返回月份中的日期数(1到31)。 
Month(Date) 返回日期中的月份(1到12)。 
Year(Date) 返回日期中的年度。 
Weekday(Date) 返回日期中代表一周中的星期几。 

Abs(n) 返回n的绝对值。 
Atn(n) 返回n的反正切值,以弧度为单位。 
Cos(n) 返回n的余弦值,以弧度为单位。 
Exp(n) 返回e的n次方。 
Rnd(n) 产生0到1之间的一个随机数。 
Sgn(n) n小于0时返回-1,n等于0时返回0,n大于0时返回1。 
Sin(n) 返回n的正弦值,以弧度为单位。  
Sqr(n) 返回n的平方根。 
Str(n) 把数值值转换成字符串。  
Tan(n) 返回n的正切值,以弧度为单位。 
Val(n) 把字符串转换为数值值。 
Int(n) 返回数字的整数部分。8.4-->9  
Fix(n) 返回数字的整数部分。8.4-->8  


以上函数在VB6和VBScript中都适用,在。NET里面要在前面加上相应的命名空间,如System.Math.Cos(),Microsoft.VisualBasic.Hour()。


数据类型转换函数:

转换函数 将表达式转换成 
CBool Boolean 
CByte Byte 
CCur Currency '只在VB7.0以下有效 
CDate Date 
CDbl Double 
CInt Integer 
CLng Long 
CSng Single 
CStr String 
CVar Variant ‘只在VB7.0以下有效 
CVErr Error '只在VB7.0以下有效 


若想了解Visual Basic正在使用哪种变量类型,可使用 VarType 函数。

 
字符串处理函数

关键字 说明 示例 
Ucase 将字符串中的字母改为大写 Ucase("Kim")返回KIM 
Lcase 将字符串中的字母改为小写 Lcase("Kim")返回kim 
Len 确定字符串的长度(以字符为单位) Len("Mississ")返回7 
Right 返回字符串右部指定个数的字符 Right("Budapest",3)返回pes 
Left 返回字符串左部指定个数的字符 Left("Budapest",4)返回Buda 
Mid 从某一指定起始点开始返回字符串中指定个数的字符 Mid("Sommers", 4, 3) 返回mer 
InStr 从一个较大字符串中查找另一个字符  start% = InStr("bob","bobby")start%变量返回值1  
String 重复指定字符串中的字符,返回新的字符串 String(8, "*")返回******** 
Asc 返回指定字母的ASCII代码 Asc("A")  返回65 
Chr 返回指定ASCII代码对应的字符 Chr(65) 返回A 
Xor 对两个数字执行“异或”操作,其返回值可用来对文本进行加密、解密 65 Xor 50  返回115    115 Xor 50  返回65 


注意:Right和Left在.Net中使用时前面要加命名空间Microsoft.VisualBasic;String在.Net中无效。
 

注册表读写函数:

GetSetting 检索注册表设置值 
SaveSetting 保存或创建注册表设置值 
GetAllSettings 返回一个包含多项注册表设置值的数组 
DeleteSetting 删除注册表设置值 
VBScript 函数 
功能说明 
例子 


Abs (数值) 绝对值。一个数字的绝对值是它的正值。空字符串 (null) 的绝对值,也是空字符串。未初始化的变数,其绝对为 0 例子:ABS(-2000) 
结果:2000 
Array (以逗点分隔的数组元素) Array 函数传回数组元素的值。 例子: 
A=Array(1,2,3)
B=A(2)
结果: 2
说明:变量B为A数组的第二个元素的值。 
Asc (字符串) 将字符串的第一字母转换成 ANSI (美国国家标准符号)字码。 例子:Asc(”Internet”)
结果:73
说明:显示第一字母 I 的 ANSI 字码。 
CBool(表达式) 转换成布尔逻辑值变量型态(True 或False ) 例子:CBool(1+2)
结果:True 
CDate (日期表达式) 换成日期变量型态。可先使用 IsDate 函数判断是否可以转换成日 期。 例子: CDate (now( )+2) 
结果:2000/5/28 10:30:59 
CDbl(表达式) 转换成DOUBLE变量型态。 
Chr ( ANSI 字码) 将ASCII 字码转换成字符。 例子: Chr ( 72 )
结果: H 
CInt (表达式) 转换成整数变量型态。 例子: CInt ("3.12") 
结果: 3 
CLng (表达式) 转换成LONG 变量型态。 
CSng (表达式) 转换成SINGLE 变量型态。 
CStr (表达式) 转换成字符串变量型态。 
Date ( ) 传回系统的日期。 例子: Date 
结果: 2000/5/13 
DateAdd ( I , N , D ) 将一个日期加上一段期间后的日期。 I :设定一个日期( Date )所加上的一段期间的单位。譬如 interval="d" 表示 N的单位为日。 I的设定值如下: 
yyyy Year 年 
q Quarter 季 
m Month 月 
d Day 日 
w Weekday 星期 
h Hour 时 
n Minute 分 
s Second 秒 
N :数值表达式,设定一个日期所加上的一段期间,可为正值或负值,正值表示加(结果为 >date 以后的日期),负值表示减(结果为 >date 以前的日期)。 
D :待加减的日期。 例子: DateAdd ( "m" , 1 , "31-Jan-98") 
结果: 28-Feb-98 
说明:将日期 31-Jan-98 加上一个月,结果为 28-Feb-98 而非 31-Fe-98 。 
例子: DateAdd ( "d" , 20 , "30-Jan-99") 
结果: 1999/2/9 
说明:将一个日期 30-Jan-99 加上 20 天后的日期。 
DateDiff (I , D1 , D2[,FW[,FY]]) 计算两个日期之间的期间。 
I :设定两个日期之间的期间计算之单位。譬如 >I="m" 表示计算的单位为月。 >I 的设定值如: 
yyyy > Year 年 
q Quarter 季 
m Month 月 
d Day 日 
w Weekday 星期 
h Hour 时 
m Minute 分 
s Second 秒 
D1 ,D2:计算期间的两个日期表达式,若 >date1 较早,则两个日期之间的期间结果为正值;若 >date2 较早, 则结果为负值。 
FW :设定每周第一天为星期几, 若未设定表示为星期天。 >FW 的设定值如下: 
0 使用 >API 的设定值。 
1 星期天 
2 星期一 
3 星期二 
4 星期三 
5 星期四 
6 星期五 
7 星期六 
FY :设定一年的第一周, 若未设定则表示一月一日那一周为一年的第一周。 >FY 的设定值如下: 
0 使用 >API 的设定值。 
1 一月一日那一周为一年的第一周 
2 至少包括四天的第一周为一年的第一周 
3 包括七天的第一周为一年的第一周 例子: DateDiff ("d","25-Mar-99 ","30-Jun-99 ") 
结果: 97 
说明:显示两个日期之间的期间为 97 天。 
DatePart (I,D,[,FW[,FY]]) 传回一个日期的之部份。 
>I :设定传回那一部份。譬如 >I="d" 表示传回 部份为日。 >I 的设定值如下: 
yyyy Year 年 
q Quarter 季 
m Month 月 
d Day 日 
w Weekday 星期 
h Hour 时 
m Minute 分 
s Second 秒 
D :待计算的日期。 
>FW :设定每周第一天为星期几, 若未设定则表示为星期天。 >FW 的设定值如下: 
0 使用 >API 的设定值。 
1 星期天 
2 星期一>3 星期二 
4 星期三 
5 星期四 
6 星期五 
7 星期六 

FY :设定一年的第一周, 若未设定则表示一月一日那一周为一年的第一周。 >FY 的设定值如下: 
0 使用 >API 的设定值。 
1 一月一日那一周为一年的第一周 
2 至少包括四天的第一周为一年的第一周 
3 包括七天的第一周为一年的第一周 例子: DatePart ("m","25-Mar-99 ") 
结果: 3 
说明:显示传回一个日期 的月部份。 
Dateserial (year,month,day) 转换(year,month,day) 成日期变量型态。 例子: DateSerial (99,10,1) 
结果: 1999/10/1 
DateValue ( 日期的字符串或表达式 ) 转换成日期变量型态,日期从 January 1,100 到 December 31,9999 。格式为 month,day,and year 或 month/day/year 。譬如: December 30,1999 、 Dec 30,1999 、 12/30/1999 、 12/30/99 例子: DateValue ("January 1,2002 ") 
结果: 2002/1/1 
Day( 日期的字符串或表达式 ) 传回日期的「日」部份。 例子: Day(" 12/1/1999 ") 
结果: 1 
Fix( 表达式 ) 转换字符串成整数数字型态。与 Int 函数相同。若为 null 时传回 null 。 
Int (number) 与 Fix(number) 的差别在负数。如 Int (-5.6)=-6 , Fix(-5.6)=-5 。 例子: Fix(5.6) 
结果: 5 
Hex( 表达式 ) 传回数值的十六进制值。若表达式为 null 时 Hex( 表达式 )=null ,若表达式 =Empty 时 Hex( 表达式 )=0 。 16 进位可以加「 &H 」表示,譬如 16 进位 &H10 表示十进制的 16 。 例子: Hex(30) 
结果: 1E 
Hour( 时间的字符串或表达式 ) 传回时间的「小时」部份。 例子: Hour("12:30:54 ") 
结果: 12 
InStr ([start,]string1,string2[,compare]) 将一 个 字符串由左 而右与另一个比较,传回第一个相同的位置。 
start 为从第几个字比较起,若省略 start 则从第一个字比较起, string1 为待寻找的字符串表达式, string2 为 待比较的字符串表达式, compare 为比较的方法, compare=0 表二进制比较法, compare=1 表文字比较法,若省略 compare 则为预设的二进制比较法。 例子: InStr("abc123def123","12") 
结果: 4 
InstrRev ([start,]string1,string2[,compare]) 将一 个 字符串 由右而左与另一个比较,传回第一个相同的位置。 
start 为从第几个字比较起,若省略 start 则从第一个字比较起, string1 为待寻找的字符串表达式, string2 为 待比较的字符串表达式, compare 为比较的方法, compare=0 表二进制比较法, compare=1 表文字比较法,若省略 compare 则为预设的二进制比较法。 例子: InstrRev ("abc123def123","12") 
结果: 10 
Int ( 表达式 ) 传回一个数值的整数部份。与 Fix 函数相同。 例子: Int (5.6) 
结果: 5 
IsArray ( 变数 ) 测试变量是 (True) 否 (False) 是一个数组。 例子: IsArray (3) 
结果: False 
说明:不是一个数组。 
IsDate ( 日期或字符串的表达式 ) 是否可以转换成日期。日期从 January 1,100 A.D. 到 December 31,9999 A.D 。 例子: IsDate ("December 31,1999 ") 
结果: True 
说明:可以转换成日期。 
IsEmpty ( 变数 ) 测试变量是 (True) 否 (False) 已经被初始化 例子: IsEmpty (a) 
结果: True 
IsNull ( 变数 ) 测试变数是 (True) 否 (False) 不是有效的数据。 例子: IsNull ("") 
结果: False 
说明:是有效的数据。 
IsNumeric ( 表达式 ) 是 (True) 否 (False) 是数字。 例子: IsNumeric ("abc123") 
结果: False 
说明:不是数字。 
LCase ( 字符串表达式 ) 转换字符串成小写。将大写字母的部份转换成小写。字符串其余的部份不变。 例子: LCase ("ABC123") 
结果: abc123 
Left( 字符串表达式 ,length) 取字符串左边的几个字。 length 为取个字。 Len 函数可得知字符串的长度。 例子: Left("ABC123",3) 
结果: ABC 
Len( 字符串表达式 变量 ) 取得字符串的长度。 例子: Len("ABC123") 

结果: 6 
LTrim ( 字符串表达式 ) 除去字符串左边的空白字。 RTrim 除去字符串右边的空白字, Trim 函数除去字符串左右两边的空白字。 例子: LTrim ("456+" abc ") 
结果: 456abc123 
Mid( 字符串表达式 ,start[,length]) 取字符串中的几个字。 start 为从第几个 字取起, length 为取几个字, 若略 length 则从 start 取到最右底。由Len 函数可得知字符串的长度。 例子: Mid("abc123",2,3) 
结果: c12 
Minute( 日期的字符串或表达式 ) 传回时间的「分钟」部份。 例子: Minute("12:30:54") 
结果:30 
Month(日期的字符串或表达式) 传回日期的「月」部份。 例子:Month("12/1/2001") 
结果:12 
MonthName(month[,abbreviate]) 传回月的名称。 
month :待传回月名称的数字 1~12 。譬如, 1 代表一月, 7 代表七月。 
abbreviate: 是 (True) 否 (False) 为缩写,譬如 March ,缩写为 Mar 。默认值为 False 。中文的月名称无缩写。 例子: MonthName (7) 
结果:七月 
Now() 传回系统的日期时间。 例子: Now() 
结果: 2001/12/30 10:35:59 AM 
Oct() 传回数值的八进位值。八进位可以加「 &O 」表示,譬如八进位 &O10 表示十进制的 8 。 例子: Oct(10) 
结果: 12 
Replace( 字符串表达式,findnreplacewith[,start[,count[,compare]]]) 将一个字符串取代 部份字。寻找待取代的原字符串 (find) , 若找到则被取代为新字符串 (replacewith) 。 
find :待寻找取代的原字符串。 
replacewith :取代后的字。 
start :从第几个字开始寻找取代, 若未设定则由第一个字开始寻找。 
count :取代的次数。 若未设定则所有寻找到的字符串取代字符 串全部被取代。 
compare :寻找比较的方法, compare=0 表示二进制比较法, compare=1 表文字比较法, compare =2 表根据比较的 数据型态而定,若省略 compare 则为预设的二进制比较法。 例子: Replace("ABCD123ABC","AB","ab") 
结果: abCD123abC 
Right( 字符串表达式 ,length) 取字符串右边的几个字, length 为取几个字。 Len 函数可得知字符串的长度。 例子: Right("ABC123",3) 
结果: 123 
Rnd [(number)] 0~1 的 随机随机数值。 number 是任何有效的数值表达式。若 number 小于 0 表示每次得到相同的 随机随机数值。 number 大于 0 或未提供时表示依序得到下一个 随机随机数值。 >number=0 表示得到最近产生的 随机随机数值。为了避免得到相同的随机随机数顺序,可以于 Rnd 函数前加 Randomize 。 例子: Rnd 
结果: 0.498498 
Round( 数值表达式 [,D]) 四舍五入。 
D :为四舍五入到第几位小数,若省略则四舍五入到整数。 例子: Round(30635,1) 
结果: 3.6 
RTrim ( 字符串表达式 ) 除去字符串右边的空白字。 LTrim 除去字符串左边的空白字, Trim 函数除去字符串左右两边的空白字。 例子: RTrim ("abc123 ")+"456" 
结果: abc123456 
Second( 时间的字符串或表达式 )top 传回时间的「秒」部份。 例子:Second("12:30:54") 
结果:54 
Space( 重复次数 ) 得到重复相同的空白字符串。 例子: A"+Space (5)+"B 
结果: A B 
说明: A 和 B 中间加入五个空白字。 
String( 重复次数,待重复的字 ) 得到重复相同的字符串。 例子: String(5,71) 
结果: GGGGG 
StrReverse (String(10,71)) 将一个字符串顺序颠倒。 例子: StrReverse ("ABC") 
结果: CBA 
Time() 传回系统的时间。 例子: Time 
结果: 10:35:59 PM 
TimeSerial (hour,minute,second) 转换指定的 ( hour,minute,second) 成时间 变量型态。 例子: TimeSerial (10,31,59) 
结果: 10:31:59 
TimeValue ( 日期的字符串或表达式 ) 转换 成时间变量型态。日期的字符串或表达式从 0:00:00(12:00:00 A.M.) 到 23:59:59(11:59:59 P.M.) 。 例子: TimeValue (" 11:59:59 ") 
结果: 11:59:59 
Trim( 字符串表达式 ) 除去字符串左右两边的空白字。 例子: Trim(" abc123 ") 
结果: abc123 
UCase () 转换字符串成大写。将小写字母的部份转换成大写,字符串其余部份不变。 例子: UCase ("abc123") 
结果: ABC123 
VarType ( 变数 ) 传回一个变量类型。与 TypeName 函数相同, VarType 传回变量类型的代码, TypeName 传回变量类型的名称。 例子: VarType ( "I love you!") 
结果: 8 
Weekday( 日期表达式 ,[FW]) 传回星期几的数字。 
FW :设定一周的第一天是星期几。若 省略则表 1( 星期日 ) 。 
Firstdayfweek 设定值为: 1( 星期日 ),2( 星期一 ),3( 星期二 ),4( 星期三 ),5( 星期四 ),6( 星期五 ),7( 星期六 ) 。 例子: Weekday(" 1/1/2000") 
结果: 7 
WeekDayName (W,A,FW) 传回星期几的名称。 
W :是 (True) 否 (False) 为缩写。譬如 March ,缩写为 Mar 。预设为 False 。中文的星期几名称无缩写。 
FW :设定一周的第一天是星期几。 若省略表 1( 星期日 ) 。设定待传回星期几的名称,为一周中的第几天。 
A : 1( 星期日 ),2( 星期一 ),3( 星期二 ),4( 星期三 ),5( 星期四 ),6( 星期五 ),7( 星期六 ) 。 例子: WeekDayName ("1/1/2000") 
结果:星期六 
Year() 传回日期的「年」部份。

(强制)类型转换函数 
 

每个函数都可以强制将一个表达式转换成某种特定数据类型。 

语法 
CBool(expression) 

CByte(expression) 

CCur(expression) 

CDate(expression) 

CDbl(expression) 

CDec(expression) 

CInt(expression) 

CLng(expression) 

CSng(expression) 

CStr(expression) 

CVar(expression) 

CStr(expression) 

必要的 expression 参数可以是任何字符串表达式或数值表达式。 

返回类型 
函数名称决定返回类型,如下所示: 

函数 返回类型 expression 参数范围 
CBool Boolean 任何有效的字符串或数值表达式。 
CByte Byte 0 至 255。 
CCur Currency -922,337,203,685,477.5808 至922,337,203,685,477.5807。 
CDate Date 任何有效的日期表达式。 
CDbl Double 负数从 -1.79769313486232E308 至 -4.94065645841247E-324;正数从 4.94065645841247E-324 至 1.79769313486232E308。 
CDec Decimal 零变比数值,即无小数位数值,为 
+/-79,228,162,514,264,337,593,543,950,335。对于 28 位小数的数值,范围则为 
+/-7.9228162514264337593543950335;最小的可能非零值是 0.0000000000000000000000000001。 
CInt Integer -32,768 至 32,767,小数部分四舍五入。 
CLng Long -2,147,483,648 至 2,147,483,647,小数部分四舍五入。 
CSng Single 负数为 -3.402823E38 至 -1.401298E-45;正数为 1.401298E-45 至 3.402823E38。 
CStr String 依据 expression 参数返回 Cstr。 
CVar Variant 若为数值,则范围与 Double 相同;若不为数值,则范围与 String 相同。 


说明 
如果传递给函数的 expression 超过转换目标数据类型的范围,将发生错误。 

通常,在编码时可以使用数据类型转换函数,来体现某些操作的结果应该表示为特定的数据类型,而不是缺省的数据类型。例如,当单精度、双精度或整数运算发生的情况下,使用 CCur 来强制执行货币运算。 

应该使用数据类型转换函数来代替 Val,以使国际版的数据转换可以从一种数据类型转换为另一种。例如,当使用 Ccur 时,不同的小数点分隔符、千分位分隔符和各种货币选项,依据系统的国别设置都会被妥善识别。 

当小数部分恰好为 0.5 时,Cint 和 CLng 函数会将它转换为最接近的偶数值。例如,0.5 转换为 0、1.5 转换为 2。Cint 和 CLng 函数不同于 Fix 和 Int 函数,Fix 和 Int 函数会将小数部分截断而不是四舍五入。并且 Fix 和 Int 函数总是返回与传入的数据类型相同的值。 

使用 IsDate 函数,可判断 date 是否可以被转换为日期或时间。Cdate 可用来识别日期文字和时间文字,以及落入可接受的日期范围内的数值。当转换一个数字成为日期时,是将整数部分转换为日期,小数部分转换为从午夜起算的时间。 

CDate 依据系统上的国别设置来决定日期的格式。如果提供的格式为不可识别的日期设置,则不能正确判断年、月、日的顺序。另外,长日期格式,若包含有星期的字符串,也不能被识别。 

CVDate 函数也提供对早期 Visual Basic 版本的兼容性。CVDate 函数的语法与 CDate 函数是完全相同的,不过,CVDate 是返回一个 Variant,它的子类型是 Date,而不是实际的 Date 类型。因为现在已有真正的 Date 类型,所以 CVDate 也不再需要了。转换一个表达式成为 Date,再赋值给一个 Variant,也可以达到同样的效果。也可以使用这种技巧将其他真正的数据类型转换为对等的 Variant 子类型。 

注意 CDec 函数不能返回独立的数据类型,而总是返回一个 Variant,它的值已经被转换为 Decimal 子类型。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值