一、Val 函数
返回包含于字符串内的数字,字符串中是一个适当类型的数值。
语法
Val(string)
必要的 string 参数可以是任何有效的字符串表达式.
说明
Val 函数,在它不能识别为数字的第一个字符上,停止读入字符串。那些被认为是数值的一部分的符号和字符,例如美圆号与逗号,都不能被识别。但是函数可以识别进位制符号 &O(八进制)和 &H(十六进制)。空白、制表符和换行符都从参数中被去掉。
下面的返回值为 1615198:
Val(" 1615 198th Street N.E.")
在下面的代码中,Val 为所示的十六进制数值返回十进制数值 -1。
Val("&HFFFF")
注意 Val 函数只会将句点(.)当成一个可用的小数点分隔符。当使用不同的小数点分隔符时,如在国际版应用程序中,代之以 CDbl 来把字符串转换为数字。
Val 函数示例
本示例使用 Val 函数返回字符串中所含的数值。
Dim MyValue
MyValue = Val("2457") ' 返回 2457。
MyValue = Val(" 2 45 7") ' 返回 2457。
MyValue = Val("24 and 57") ' 返回 24。
参考资料:MSDN VB参考
二、Str 函数
返回代表一数值的 Variant (String)。
语法
Str(number)
必要的 number 参数为一 Long,其中可包含任何有效的数值表达式。
说明
当一数字转成字符串时,总会在前头保留一空位来表示正负。如果 number 为正,返回的字符串包含一前导空格暗示有一正号。
使用 Format 函数可将数值转成必要的格式,如日期、时间、货币或其他用户自定义格式。与 Str 不同的是,Format 函数不包含前导空格来放置 number 的正负号。
注意 
Str 函数只视句点 (.) 为有效的小数点。如果使用不同的小数点(例如,国际性的应用程序),可使用 CStr 将数字转成字符串。
for example:Str 函数示例
本示例使用 Str 函数来将一个数字转成字符串。当数字转成字符串时,字符串的第一个位一定是空格或是正负号。Dim MyStringMyString = Str(459)  \' 返回 " 459"。MyString = Str(-459.65)  \' 返回 "-459.65"。MyString = Str(459.001)  \' 返回 " 459.001"。
三、CStr 函数
说明
传回一个转换为 String 资料型态的运算式。
语法
CStr(expression)
引数 expression 可以是任何有效的运算式。
注解
通常,您可以使用资料型态转换函数,以特定的资料型态,取代预设的资料型态来进行运算。例如,使用 CStr 来强制将执行结果以 String 资料型态表示。
您可以使用 CStr 函数而非 Str 函数,在任何语言的版本中,让任何一个资料型态转换至 String 资料型态。例如,不同的小数点分隔符号,会依据您系统的国别设定来做适当的确认。
引数 expression 将决定函数传回值为何,请叁
考下表:
若 expression 内容为 传回值
Boolean 包含 "True" 或 "False" 的字串。
Date 包含一个日期的字串,其格式为您系统的简短日期格式。
Null 产生执行时期错误。
Empty 一个长度为 0 的 字串 ("")。
Error 包含一个英文字 "Error" 以及一个错误代码的字串。
其他数值 包含这个数值的字串。
(一)类型转换类函数
1. CType(X)
[格式]:
P=CBool(X)
' 将X转换为“布尔”(Boolean)类型
P=CByte(X)
' 将X转换为“字节”(Byte)类型
P=CCur(X)
' 将X转换为“金额”(Currency)类型
P=CDate(X)
' 将X转换为“日期”(Date)类型
P=CDbl(X)
' 将X转换为“双精度”(Double)类型
P=CInt(X)
' 将X转换为“整型”(Integer)类型
P=CLng(X)
' 将X转换为“长整型”(Long)类型
P=CSng(X)
' 将X转换为“单精度”(Single)类型
P=CStr(X)
' 将X转换为“字符串”(String)类型
P=Cvar(X)
' 将X转换为“变体型”(Variant)类型
P=CVErr(X)
' 将X转换为Error值
[ 范例 ]:
(1). CStr(13)+CStr(23)
' 数值转换成字符串后,用"+"号连接, 结果:1323
(2). CInt("12")+12
' 字符串转换成整型后与12相加, 结果:24
(3). P=CInt(True)
' 输出结果为-1
' 布尔值与数值的转换时要注意,布尔值只有True和False,其中True在内存中为-1,False存为0
(4). CBool(-0.001)
' 输出结果为True
' 将数值转换为布尔型时,等于0的数值将得到False,不等于0的数值得到True.
2. Int(X),Fix(X):取X的整数值
[格式]:
P=Int(X) ' 取<=X的最大整数值
P=Fix(X) ' 取X的整数部分,直接去掉小数
[范例]:
(1) Int(-54.6)
' 结果为-55,取<=-54.6的最大整数
(2) Fix(54.6)
' 结果为54,取整数并直接去掉小数
(二)常用数学函数
[格式]:
1. Abs(N) 取绝对值
例:Abs(-3.5) 结果:3.5
2. Cos(N) 余弦函数
例:Cos(0) 结果:1
3. Exp(N) e为底的指数函数
例:Exp(3) 结果:20.068
4. Log(N) 以e为底的自然对数
例:Log(10) 结果:2.3
5. Rnd[(N)] 产生随机数
例:Rnd 结果:0--1之间的数
6. Sin(N) 正弦函数
例:Sin(0) 结果:0
7. Sgn(N) 符号函数
' 说明:取正负号。Y=Sgn(X) 既 X>0 则Y=1;X=0 则Y=0;X<0 则Y= -1
8. Sqr(N) 平方根
例:Sqr(9) 结果:3
9. Tan(N) 正切函数
例:Tan(0) 结果:0
10.Atn(N) 反切函数
例:Atn(0) 结果:0
[注意]:在三角函数中,以弧度表示。
(一)字符串类函数:
1. ASC(X),Chr(X):转换字符字符码
[格式]:
P=Asc(X) 返回字符串X的第一个字符的字符码
P=Chr(X) 返回字符码等于X的字符
[范例]:
(1)P=Chr(65)
‘ 输出字符A,因为A的ASCII码等于65
(2)P=Asc(“A”)
‘ 输出65
2. Len(X): 计算字符串X的长度
[格式]:
P=Len(X)
[说明]:
空字符串长度为0,空格符也算一个字符
,一个中文字虽然占用2 Bytes,但也算一个字符。
[范例]:
(1) 令X=”” (空字符串)
Len(X) 输出结果为0
(2) 令X=”abcd”
Len(X) 输出结果为4
(3) 令X=”VB教程”
Len(X) 输出结果为4
3. Mid(X)函数:读取字符串X中间的字符
[格式]:
P=Mid(X,n)
由X的第n个字符读起,读取后面的所有字符。
P=Mid(X,n,m)
由X的第n个字符读起,读取后面的m个字符。
[范例]:
(1) X=”abcdefg”
P=Mid(X,5)
结果为:P=”efg”
(2) X=”abcdefg”
P=Mid(X,2,4)
结果为P=”bcde”
4. Replace: 将字符串中的某些特定字符串替换为其他字符串
[格式]:
P=Replace(X,S,R)
[说明]:将字符串X中的字符串S替换为字符串R,然后返回。
[范例]:
X=”VB is very good”
P=Replace(X,good,nice)
输出结果为:P=”VB is very nice”
5. StrReverse:反转字符串
[格式]:
P=StrReverse(X)
[说明]:
返回X参数反转后的字符串
[范例]:
(1)X=”abc”
P=StrReverse(X)
输出结果:P=”cba”
6. Ucase(X),Lcase(X):转换英文字母的大小写
[格式]:
P=Lcase(X)
‘ 将X字符串中的大写字母转换成小写
P=Ucase(X)
‘ 将X字符串中的小写字母转换成大写
[说明]:除了英文字母外,其他字符或中文字都不会受到影响。
[范例]:
(1) 令 X=”VB and VC”
则Lcase(X)的结果为”vb and vc”,Ucase(X)的结果为”VB AND VC”
7. InStr函数:寻字符串
[格式]:
P=InStr(X,Y)
从X第一个字符起出Y出现的位置
P=InStr(n,X,Y)
从X第n个字符起出Y出现的位置
[说明]:
(1) 若在X中到Y,则返回值是Y第一个字符出现在X中的位置。
(2) InStr(X,Y)相当于InStr(1,X,Y)。
(3) 若字符串长度,或X为空字符串,或在X中不到Y,则都返回0。
(4) 若Y为空字符串,则返回0。
日期时间类函数:
1. Year(X),Month(X),Day(X):取出年,月,日
[格式]:
P=Year(X)
取出X“年”部分的数值
P=Month(X)
取出X“月”部分的数值
P=Day(X)
取出X“日”部分的数值
[说明]:Year返回的是公元年,若X里只有时间,没有日期,则日期视为#1899/12/30#
2. Hour,Minute,Second函数:取出时,分,或秒
[格式]:
P=Hour(X)
取出X“时”部分的数值
P=Minute(X)
取出X“分”部分的数值
P=Second(X)
取出X“秒”部分的数值
[说明]:Hour的返回值是0---23之间
[范例]:
X=10:34:23
P=Hour(X)
Q=Minute(X)
R=Second(X)
则输出结果:P=10,Q=34,R=23
3. DateSerial函数:合并年,月,日成为日期
[格式]:DateSerial(Y,M,D)
其中Y是年份,M为月份,D为日期
[说明]:
(1) M值若大于12,则月份从12月起向后推算M-12个月;若小于1,则月份从1月起向后推算1-M个月。
(2) 若日期D大于当月的日数,则日期从当月的日数起,向后推算D-当月日
数;若小于1,则日期从1日起向前推算1-D日。
[范例]:
P=DateSerial(2000,02,02)
则结果为P=2000/02/02
4.TimeSerial函数:合并时,分,秒成为时间
[格式]:P=TimeSerial(H,M,S)
其中H为小时数,M为分钟数,S为秒数
[说明]:推算原理同上面的DateSerial
[范例]:
P=TimeSerial(6,32,45)
结果为:P=6:32:45
5.Date,Time,Now函数:读取系统的日期时间
[格式]:
P=Date()
P=Time()
P=Now()
[说明]:这三个函数都无参数
[范例]:
若当前时间为2003年8月29日晚上19点26分45秒,则
P=Now()
结果为:P=2003-08-29 19:26:45
6.MonthName:返回月份名称
[格式]:P=MonthName(X)
[说明]:X参数可传入1---12,则返回值为“一月”、“二月”……,但是在英文Windows环境下,返回的是”January”,”February”……
[范例]:
P=MonthName(1)
则P=“一月”
7.WeekdayName:返回星期名称
[格式]:P=WeekdayName(X)
[说明]:X参数可传入1—7,则返回值为“星期日”,“星期一”……,但是在英文windows环境下,返回的是”Sunday”,”Monday”……
[范例]:
P=WeekdayName(1)
结果为:P=”星期日”
第三章  VB的程序设计基础
2.1  VB编码规则
1.  语言元素
VB的语言基础是BASIC语言,VB程序的语言元素主要由:
关键字(如: Dim、Print、Cls)
函数(如:Sin()、Cos()Sqr())
表达式(如:Abs(-23.5)+45*20/3 )
语句(如:X=X+5 、 IF……ELSE……END IF)等组成。
2.  VB代码书写规则
(1) 程序中不区分字母的大小写,Ab 与AB等效;
(2) 系统对用户程序代码进行自动转换:
1)  对于VB中的关键字,首字母被转换成大写,其余转换成小写
2)  若关键字由多个英文单词组成,则将每个单词的首字母转换成大写
3)  对于用户定义的变量、过程名,以第一次定义的为准,以后输入的自动转换成首次定义的形式
3.  语句书写规则
(1)在同一行上可以书写多行语句,语句间用冒号(:)分隔
(2)单行语句可以分多行书写,在本行后加续行符:空格和下划线  _
(3) 一行允许多达255个字符
4.  程序的注释方式
(1)整行注释一般以 Rem开头,也可以用撇号 ';
(2)用撇号 ' 引导的注释,既可以是整行的,也可以直接放在语句的后面,最方便;
(3)可以利用“编辑”工具栏的“设置注释块”、“解除注释块”来将设置多行注释。
5. 保留行号和标号
VB源程序接受行号与标号,但不是必须的(早期的BASIC语言中必须用行号)。
标号是以字母开始以冒号结束的字符串,一般用在GOTO语句(现在很少用)中。
2.2  VB的语言基础
1.数据类型
VB的标准数据类型
数据类型 关键字 类型符 前缀 存储空间 范围
数值数据
类型 字节型 Byte    Byt 1 个字节 0 到 255
整型 Integer  % Int 2 个字节 -32,768 到 32,767
长整型  Long & Lng 4 个字节 -2,147,483,648 到 2,147,483,647
单精度型 Single ! Sng 4 个字节 负数:-3.402823E38 到 -1.401298E-45;正数:1.401298E-45 到 3.402823E38
双精度型  Double # Dbl 8 个字节 负数: -1.79769313486232E308
- 4.94065645841247E-324;
正数:4.94065645841247E-324
vb语言代码大全网页
1.79769313486232E308
货币型 Currency @ Cur 8 个字节 从 -922,337,203,685,477.5808
到 922,337,203,685,477.5807
逻辑型 Boolean    Bln 2 个字节 True 或 False
日期型 Date    Dtm 8 个字节 100 年1月 1日 到 9999 年 12 月 31 日
对象型 Object    Obj 4 个字节  任何 Object 引用
变长字符型  String $ Str 10 字节加字符串长度 0 到大约 20 亿
定长字符型 String $ Str 字符串长度 1 到大约 65,400
变体数字型  Variant    Vnt 16 个字节 任何数字值,最大可达 Double 的范围
变体字符型 Variant    Vnt 22 个字节加字符串长度 与变长 String 有相同的范围
注意:
1)VB中对没有声明的变量其缺省的数据类型是变体型,可以用来存储各种数据,但所占用的内存比其它类型都多。为提高运行效率(整型效率较高),或达到一定的运算精确度(浮点型精度较高,但运行较慢),应合理的定义数据类型。
2) 逻辑型数据只有True 和False两个值,转换成整型时,True=-1 ,False=0,将其它类型转换成逻辑型时,非0数转换为True ,0转换为False。
3) 字符型可以包括所有的西文字符和汉字,字符必须用双引号括" "起来, 如:"abc123"
4)货币型数据主要用来表示货币值,用8个字节存储,货币型是定点数,精确到小数点后面第4位,第五位四舍五入。整数部分最多15位。
例如:3.56@ 、 65.123456@都是货币型。
5)日期型数据按8字节的浮点数来存储,日期型数表示方式有两种:可以用号码符#括起来,也可以用数字序列表示(小数点左边的数字代表日期,右边代表时间,0为午夜,0。5为中午12点,负数表示是1899年12月31日前的日期和时间)。
例:#1999-08-11 10:25:00 pm#
#08/23/99#
#03-25-75 20:30:00#
#98,7,18#
以上都是有效的日期型数据。在VB中会自动转换成mm/dd/yy(月/日/年)的形式。
如:#3/22/2002#    #2002-3-22 14:30:20#
Dim T As Date
T=-2.5
Print T    ' 打印出来的结果是1899-12-28 12:00:00
5)任何数据类型的数组都需要 20 个字节的内存空间,加上每一数组维数占 4 个字节,再加上数据本身所占用的空间。数据所占用的内存空间可以用数据元数目乘上每个元素的大小加以计算。例如,以 4 个 2 字节之 Integer 数据元所组成的一维数组中的数据,占 8 个字节。这 8 个字节加上额外的 24 个字

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。