您好,欢迎来到五一七教育网。
搜索
您的当前位置:首页VB里的函数,字符,运算符等等内容

VB里的函数,字符,运算符等等内容

来源:五一七教育网
VB的数据类型比较丰富,可以分为两大类:基本数据类型和用户自定义类型。 一、基本数据类型

表3-1列出了VB使用的基本数据类型。

表3-1 VB 基本数据类型

数据类型 整 型 长整型 关键字 Integer Long 类型前缀 字节 符 % int 2 & lng 4 范围 -32768~32767 -21474838~21474837 负数:-3.402823E38~1.401298E-45 正数:1.401298E-45~3.402823E38 负数:-1.79769313486232D308~ -4.940655841247D-324 单精度型 Single ! sng 4 数 值 型 双精度型 Double # dbl 8 正数:4.940655841247D-324~ 1.79769313486232D308 -922337203685477.5808~ 货币型 字节型 日期型 逻辑型 字符型 对象型 变体型 Currency Byte @ 无 cur byt dtm bln str obj vnt 8 1 8 2 4 (00:00:00~23:59:59) True与False 0~65535个字符 任何对象引用 上述有效范围之一 922337203685477.5807 0~255 01,01,100~12,31,9999 Date(time) 无 Boolean String Object Variant 无 $ 无 无 基本数据类型是系统定义的标准数据类型,可以直接使用。分为6类:数值型,日期型,逻辑型,字符型和变体型。 (一)数值型数据

数值型数据分为整型和实型两类。整型数据分为整数和长整数,实型数据分为单精度和双精度数据。有时把货币型和字节型数据也归为数值型数据。

1.整数(Interger)。整数是不带小数点,范围在-32768~32767之间,在机器内使用2个字节存储的整数。在VB中数尾常加“%”表示整型数据,也可省略。如-34,78%。 2.长整数(Long)。长整数可以超过整数-32768~32767范围,可以是-21474838~21474837之间的不带小数点的整数,在机器内用4个字节存储。在VB中数尾常加:“&”表示长整型数据。如-334&,677859&。整数(Interger)和长整数(Long)均用于保存整数,其可以是正整数、负整数或者0。例如:369、-369、+369均表示整数,而369.0就不是整数;-9993977、12345678均表示长整数,而123,456则是非法数。整型数的运算速度快、精确,且占用存储空间较小,但表示数的范围也较小。

3.单精度数(Single)。单精度数是带小数点的实数,有效数字为7位,在机器内用4个字节存储。通常以指数形式表示,指数部分用“E”或“e”表示。在VB中数尾常加“!”表示单精度数据,也可省略。如-234.78,45.56!,2.67e+3,-2.E-2。单精度数有多种表示形式:±n.n(小数形式)、±n E ±m(指数形式)、 ±n.n E ±m (指数形式)。例如:123.45、0.12345E+3、123.45!都是同值的单精度数。如果某个数的有效数字位数超过7位,当把它定义为单精度变量时,超出的部分会自动四舍五入。

4.双精度数(Double)。双精度数也是带小数点的实数,有效数字为15或16位,在机器内用8个字节存储。通常以指数形式表示,指数部分用“D”或“d”表示。在VB中数尾常加“#”表示双精度数据,也可省略。如-374.778#,5.678D+2,-2.67e+3#。

5.货币型数据(Currency)。货币型数据是为是一种专门为处理货币而设计的数据类型,是一种特殊的小数。,它的精度要求较高,用8个字节存储,保留小数点右边4位和小数点左边15位,如果数据定义为货币型,且其小数点后超过4位,那么超过的部分自动四舍五入。在VB中数尾常加“@”表示货币型数据。如3.4@,565@。

6.字节型数据(Byte)。字节型数据用来存储二进制数,是范围在0~255之间的无符号整数,不能表示负数,在机器内用一个字节存储。Byte是从0-255的无符号类型, 在VB中,声明和使用数值型数据时,应注意以下几点: (1)如果数据中包含小数,则应使用single、double或currency型。 (2)如果数据为二进制数,则使用byte数据类型。

(3)数值型数据都有一个有效范围值,程序中的数如果超出规定的范围,将会出现“溢出”信息。如小于范围的下限值,系统将按“0”处理,如大于上限值,则系统按上限值处理,并显示出错信息。

(4)所有数值变量可互相赋值。 (二)日期型数据(Date)

日期型数据是为表示日期设置的,在机器内用8个字节存储,表示从公元100年1月1日到公元9999年12月31日的日期,时间范围则从0点0分0秒到23点59分59秒即0:00:00~23:59:59。表示方法是以“#”括起来的字面上被认为是日期和时间的字符,例如:#04/10/2008#、#2004-08-10#、#September 1,2004#、#2004-9-10 13:30:15#。 (三)逻辑型数据(Boolean)

逻辑型数据是用来表示逻辑判断结果的,只有真(True)和假(False)两个值,在机器内用2个字节存储。若数据信息是“true/false”、“yes/no”、“on/off”信息,则可将它定义为Boolean 类型。逻辑数据转换成整型数据时,真转换为-1,假转换为0;其他类型数据转换为逻辑数据时,非0数转换为真,0转换为假。 (四)字符型数据

字符型数据是用双引号括起来的一串字符,用来定义一个计算机字符组成的序列。在机器中一个字符用1个字节存储。每个字符都以ASCII编码表示,因此在字符串中字母的大小写是有区别的。在默认字符状态下,它是变长字符串,也可以声明为定长字符串,变长字符串的最大长度为231-1个字符;定长字符串的最大长度为65535个字符。如果字符个数少于固定长度,自动用空格将不足部分补齐,否则会自动截去多余部分的字符。例如:“Visual Basic”、“赣南师院”、“123.456”、“everyone”、“”(空字符串)。 注意:

(1)“”表示空字符串,而“ ”表示的是有一个空格的字符串;

(2)如字符串中本身含有双引号,则用两个连续的双引号表示。例:表示字符串计算机”ABC,正确的表示形式为:“计算机””ABC” (五)对象型数据(Object)

对象型数据主要以变量形式存在,可以引用应用程序中或某些其他应用程序中的对象。在机器内用4个字节存储。使用Set语句指定一个被声明为Object的变量去引用应用程序所识别的任何实际对象。例如: Dim objDb As Object

Set objDb=OpenDatabase(\"c:\\Vb6\\student.mdb\")

(六)变体型数据(Variant)

变体型是一种通用的,可变的数据类型,它可以表示以上任何一种数据类型。它是声明变量时的默认类型。Variant数据类型能够存储所有系统定义类型的数据。如果把它们赋予Variant变量,则不必在这些数据的类型间进行转换,VB会自动完成任何必要的转换。假设定义a为变体型变量,在变量a中可以存放任何类型的数据,例如: a=“-BASIC”- -„存放一个字符串 a=10 - „存放一个整数 a=20.5 -„存放一个实数

a=#08/15/2003# „存放一个日期型数据

根据赋给a的值的类型不同,变量a的类型不断变化,这就是称之为变体类型的由来。当一个变量未定义类型时,VB自动将变量定义为Variant类型。

不同类型的数据在Variant变量中是按其实际类型存放的(例如将一个整数赋给a,在内存区中按整型数方式存放),用户不必作任何转换的工作,VB自动完成。可以通过VarType函数来检测变体型变量的实际数据类型,如表3-2所示。

表3-2 Variant变量的内部表示

符号常量 V_Empty V_Null V_Integer V_Long V_Single V_Double V_Currency V_Date V_String V_Object V_Error V_Boolean V_Variant V_Object V_Byte V_Array 函数值 0 1 2 3 4 5 6 7 8 9 10 11 12 13 17 8192 数值类型 Empty(未初始化) Null(无有效数据) 整数 长整数 单精度浮点数 双精度浮点数 货币值 日期 字符串 对象 错误值 布尔值 Variant(只与变体中的数组一起使用) 数据访问对象 位值 数组

二、自定义数据类型

VB不仅提供了系统定义的以上基本数据类型,也允许用户自己定义数据类型,它由若干个基本数据类型组成。自定义类型必须通过Type语句来声明。 格式:

Type数据类型名 元素名 As 类型名 元素名 As 类型名 元素名 As 类型名 … End Type

其中,数据类型名为自定义数据类型名,元素名为自定义数据类型中的一个成员,类型名为上述基本类型名或自定义数据类型名。

例如:对于一个学生的“学号”、“姓名”、“性别”、“年龄”、“入学成绩”等数据,为了处理数据的方便,常常需要把这些数据定义成一个新的数据类型(如Student类型)。 Type Student Xh As Sting

Xm As String*10 „长度为10 Xb As String Nl As Integer Score As Single End Type

注意:自定义类型中的元素为字符型时,必须为定长字符串。

可以看出,自定义数据类型类似于C语言中的结构体形,因此通常把这种类型又称为记录型。

这样,就可以定义一个student类型的变量了。 Dim Estu As student „用变量,元素的形式引用各成员

算术运算符 算术运算也就是通常所说的数算,在vb.net中新增了一些算术运算符,这些新增的算术运算符是由基本运符所组成的。 下表列出了这些算术运算符: 运算名类型 说明 符 称 加号两边的操作数是数字类型时,要注意有没有溢出的可能;另外,“Single”类型与“Long”类型相加时,返回值为“Double”类型,如果两个操作数都为“Empty”,则返回值为“Integer”;一个是“Empty”,另一个不是时,另一个操作数即是返回值 + 双目加运算号 符 - 减号或负号 双目运算符或单目运算符 做双目运算符时同加号。单目运算时,表示一个数的相反数 * 双目乘运算号 符 浮双目点运算除符 号 整双目除运算号 符 同加号 / 操作数同时为“Byte”、“Integer”或“single”,返回值在不溢出时为“Single”或“Double” \\ 操作数可以是任何类型的数,但在运算时都被取整,返回值一般为“Byte”、“Single”、“Double”。 返回第一个操作数整除第二个操作数的余数,例如:10 MOD 3结果为1;12.6 MOD 5结果为3 对第一操作数进行连乘,连乘次数为第二个操作数,注意:求指号的运算顺序为从右到左,例如:3^3^3结果为19683,而(3^3)^3结果为729 求双目MOD 余运算号 符 ^ 求双目指运算号 符

在Visual Basic里信息要按一定的格式输出,需要使用tab、Spc、Space$函数,这些函数必须与Print方法配合使用。

1.Tab函数 格式:Tab(n)

功能:把光标移到由参数n指定的位置,从这个位置输出信息,输出的内容放在Tab函数的后面,并用分号隔开。

说明:

(1)参数n是一个整数,它是下一个输出位置的列号,最左边的列号为1。

(2)当在一个Print方法中有多个Tab,每个Tab函数对应一个输出项,各输出项之间用分号隔开。

2.Spc函数 格式:Spc(n)

功能:在Print方法中,用Spc函数,可以跳过n个空格。 说明:

(1)参数n是一个整数,其取值范围为0~32767的整数。Spc函数与输出项之间用分号隔开。

(2)Spc函数和Tab函数作用类似,而且可以互相代替。二者有区别:Tab函数是从左端开始计数,而Spc函数只是表示两个输出项之间的间隔。

3.空格函数Space$ 格式:Space$(n) 功能:返回n个空格。 4.格式输出函数Format

用格式函数Format,可以使数值或日期按指定的格式输出。 格式:Format(数值表达式,格式字符串)

功能:按“格式字符串\"指定的格式,输出“数值表达式”的值。 说明:

“格式字符串”是一个字符串常量或变量,它由专门的格式说明字符组成。 (1)#(数字占位符):表示一个数字位,不在前面或后面补。#的个数决定了显示区段的长度。

(2)0(数字占位符):与#功能相同,只是多余的位以0补齐。

(3).(小数点):根据字符串的位置,小数部分多余的数字按四舍五入处理。 (4),(千位分隔符):逗号。在格式字符串中插入逗号起到“分位\"的作用。 (5)%(百分比符号):百分号。通常放在格式字符串的尾部。 (6)$(美元符号):通常作为格式字符串的起始字符。

(7) (正号):使显示的正数带上符号。通常放在格式字符串的头部。 (8)一(负号):用来显示负数。

(9)E (E一)(指数符号):用指数形式显示数值。

1.

Format(<表达式>[, <格式字符串>])

其中,<表达式>:要格式化的数值、日期或字符串表达式。

<格式字符串>:指定表达式的值的输出格式。格式字符有三类:数值格式、日期格式和字符串格式。格式字符要加引号。下面以例子说明格式输出函数中最常用的一些格式字符的使用。

例如:

1. Print Format(123.45,\"0000.000\")' “0”为数字占位符。显示一位数字或零。结果为0123.450

2. 3.

Print Format(123.45,\"0.0\")' 结果为123.5

Print Format(123.45,\"####.###\")' “#”为数字占位符。显示一位数字或什么都不显示。结果为123.45

4. 5. 6.

Print Format(123.45,\"#.#\")' 结果为123.5 Print Format(0.123,\".##\")' 结果为.12 Print Format(0.123,\"0.##\")' 结果为0.12

也常用Format(<表达式>)将一个数值型数据转换成字符串。

例如:Format(3.14)的值为字符串\"3.14\"。

msgbox \"内容\",类型,“标题”

print msgbox(msgbox \"内容\",类型,“标题”) a=msgbox (\"内容\",类型,“标题”)

第三种有返回值,返回你按了哪个按钮

值 类型 说明

0 vbOKOnly 只显示“确定”按钮(缺省值) 1 VbOKCancel 显示“确定”和“取消”按钮

2 VbAbortRetryIgnore 显示“终止”、“重试”和“忽略” 按钮 3 VbYesNoCancel 显示“是”、“否”和“取消”按钮 4 VbYesNo 显示“是”和“否”按钮 5 VbRetryCancel 显示“重试”和“取消”按钮 16 VbCritical 显示“关键信息”图标 32 VbQuestion 显示“错误”图标 48VbExclamation 显示“警告消息”图标

VbInformation 显示“通知消息”图标

0vbDefaultButton1 第一个按钮是缺省值(缺省设置) 256vbDefaultButton2 第二个按钮是缺省值 512vbDefaultButton3 第三个按钮是缺省值 1024vbDefaultButton4 第四个按钮是缺省值

vbApplicationModal 应用程序强制返回;应用程序一直被挂起,直到用户对消息框 作出响应才继续工作

vbSystemModal 系统模式:在用户响应消息框前,所有应用程序都被挂起。

vbMsgBoxHelpButt 16384 将Help按钮添加到消息框

on

VbMsgBoxSetFore 指定消息框窗口作为前景窗口 ground

vbMsgBoxRight 文本为右对齐

vbMsgBoxRtlRe 指定文本应为在希伯来和阿拉伯语系统中的从右到左显示

VB运算符

算术运算符

VB算术运算符:优先级从上至下

运算 运算符 表达式举例 说明 幂 ^ X ^ Y 取负 - -X 乘法 * X * Y

浮点除法 / X / Y

整数除法 \\ X \\ Y 截去小数,不舍入 取模 Mod X Mod Y 加法 + X + Y 减法 - X - Y

字符串运算符:

运算 运算符 表达式举例 说明

连接 & X$ & Y$ 字符串运算,也可以使用“+”

例:查看运行结果。 Private Sub Command1_Click() a = 35 b = 12

c$ = \"ssss\" d$ = \"qqq\"

Print a + b, a - b, a * b, a / b Print a \\ b, a Mod b, b ^ 2, 2 * -a Print c + d, c & d End Sub

2、关系运算符

VB关系运算符:

测试关系 运算符 表达式举例 等于 = X=Y

不等于 <>或>< X<>Y 小于 < X X>Y

小于等于 <= X<=Y 大于等于 >= X>=Y

比较样式 Like \"BAT123khg\" Like \"B?T*\" 返回 True 比较对象变量 Is 使用 Is 运算符来比较两个对象引用

例:查看运行结果。 Private Sub Command1_Click() c$ = \"2001181101\"

If Left(c$, 4) = \"2001\" Then Print \"是2001级的学生\" n1$ = \"王军\"

If n1$ Like \"王*\" Then

Print \"是姓王的学生\" ''对 Else

Print \"不是姓王的学生\" End If

n2$ = \"王军红\"

If n2$ Like \"王?\" Then Print \"是姓王的学生\" Else

Print \"不是姓王的学生\" ''对 End If End Sub

3、逻辑运算符

VB逻辑运算符:优先级从上至下

逻辑 运算符 表达式举例 说明

非 Not Not X 原来为真,否定为假

与 And X And Y 其一为假,结果为假 或 Or X Or Y 其一为真,结果为真 异或 Xor X Xor Y 不同为真,相同为假 等价 Eqv X Eqv Y 相同为真,不同为假

蕴含 Imp X Imp Y X为真,Y为假,结果为假

逻辑运算表:-1为真,0为假

X Y Not X X And Y X Or Y X Xor Y X EqvY X Imp Y -1 -1 0 -1 -1 0 -1 -1 -1 0 0 0 -1 -1 0 0 0 -1 -1 0 -1 -1 0 -1 0 0 -1 0 0 0 -1 -1

例:查看运行结果。 Private Sub Command1_Click() a = 1: b = 2 c = 3: d = 4

Print a > b And c > d Print a < b Or c > d Print Not a < b

Print a < b Xor c > d Print a < b Eqv c > d Print a < b Imp c > d End Sub

4、表达式执行顺序

首先执行函数运算。

其次算术运算,算术运算符优先顺序:幂、取负、乘和浮点除、整除、取模、加和减、连接

再次关系运算。

最后进行逻辑运算,优先顺序为:Not、And、Or、Xor、Eqv、Imp。

注意:

在运算中,括号内的运算的优先于括号外的运算。

字符串连接运算符不是算术运算符,它的优先级高于比较运算符,低于算术运算符。

Like和比较运算符的优先顺序相同。进行模式匹配处理,应该注意?和*两个通配符。Is是对象比较运算符,它不考虑对象的值,只是针对两个对象是否参照了相同的对象。

当使用幂时,符号优先,例如:4^-2,表示4的负2次方。

常用内部函数

数学函数 函数 Abs(x) Exp(x) Fix(x) Int(x) 功能 绝对值 自然指数 取整(取参数的整数部分) 取整(取小于或等于参数的最大整数) 常用对数 示例 Abs(-50.3) Exp(2) Fix(-99.8) Int(-99.8) Int(99.8) Log(1) 结果 50.3 e*e -99 说明 e(自然对数的底)的某次方 -100 99 求自然对数值 Log(x) 0 要产生一个从Min到随机产生0~1的Max的整数,应使1~6 Rnd Int(6*Rnd)+1 单精度值 用公式Int((Max-Min+1)*Rnd+Min) 按小数位数四舍五第2个参数为小数位Round(x,n) Round(3.14159,3) 3.142 入 数 参数大于0,返回1 Sgn(8.8) 1 取参数的符号值 参数小于0,返回-1 Sgn(x) Sgn(-8.8) -1 Sgn(0) 0 参数等于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) 字符串函数 函数 Len(x) 算术平方根 Sqr(9) 3 相当于 功能 示例 求字符串的长度(字符个Len(\"Vb技术\") 数) 结果 4 说明 VB中采用Unicode(ISO字符标准)来存储字符,所有字符都占2个字节 LenB(x) 求字符串的字节个数 LenB(\"Vb技术\") 8 从x字符串左边第n1Mid(x,n1,n2) 个位置开始向右取n2个字符 从x字符串左边开始取Left(x,n) n个字符 从x字符串右边开始取Right(X,n) n个字符 将x字符串中所有小写UCase(x) 字母转换为大写 将x字符串中所有大写LCase(x) 字母转换为小写 去掉x字符串两边的空Trim(x) 格 去掉x字符串左边的空Ltrim(x) 格 去掉x字符串右边的空Rtrim(x) 格 返回字符串x2在字符串x1中的位置,M=1Instr(x1,x2,M) 不区分大小写,省略则区分 返回由n个首字符组成String(n,x) 的字符串 返回n个空格 Space(n) 日期和时间函数 函数 Date Time Now 功能 返回系统日期 返回系统时间 Mid(\"Vb技术\ Left(\"Vb技术\Right(\"Vb技术\UCase(\"Vb技术\") LCase(\"Vb技术\") Trim(\" Vb 技术 \") Ltrim(\" Vb 技术 \") Rtrim(\" Vb 技术 \") \"b技\" \"Vb技\" \"b技术\" \"VB技 术\" \"vb技术 \" \"Vb 技 术\" \"Vb 技 术 \" \" Vb 技 术\" 找不到则返回0 Instr(\"baBBAC\ 4 String(3,\"AB\") Space(3) \"AAA\" \" \" 示例 Date Time 返回系统日期和时间 Now 结果 2006-9-1 15:45:33 2006-9-1 15:45:33 说明 (yyyy-mm-dd) (hh:mm:ss) (yyyy-mm-dd hh:mm:ss) Year(\"2006-9-1\")返回指定日期的年份 或 Year(c) 2006 Year(#9/1/2006#) Month(\"2006-9-Month(c) 返回指定日期的月份 9 1\") 返回指定日期的日子 返回指定日期的星期Weekday() 几 返回指定时间的时数 Hour() Day(c) Minute() Day(\"2006-9-1\") 1 Weekday(\"2006-6 9-1\") Hour(\"15:45:33\") 15 45 星期日为1 假定系统时间为15:45:33 返回指定时间的分数 Minute(Now) 增减日期函数: DateAdd(要增减日期形式,增减量,要增减的日期)

例:计算2周后的日期:DateAdd(\"ww\,结果 \"2006-9-15\" 求日期之差函数: DateDiff(要间隔日期形式,日期一,日期二)

例:计算生日还有多少天: DateDiff(\"d\,结果为 74 函数中的“要增减日期形式”或“要间隔日期形式”可参见下表中的形式: 日期形式 意义

数据类型转换函数 函数 Str(x) Val(x) Asc(x) Chr(x) 功能 将数值转换为字符串 示例 Str(45.2) Val(\"2.3ab\") 将字符串中的数字转换成数值 Val(\"a23\") 求字符ASCII值 Asc(\"a\") 将数值(ASCII码)转换为字Chr(65) 符 结果 \"45.2\" 2.3 0 97 \"A\" True False 说明 等于0为False,不等于0为True yyyy 年 q m 季 月 y d w ww 一年的天数 日 一周的天数 星期 h 时 n 分 s 秒 将数字字符串或数值转换成布CBool(1) CBool(x) 尔型 CBool(\"0\") 将有效的日期字符串转换成日\"1990-2-CDate(x) CDate(#1990,2,23#) 期 23\" CSng(x) 将数值转换成单精度型 CSng(23.5125468) 23.51255 CDbl(x) 将数值转换成双精度型 CDbl(23.5125468) 23.5125468

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- 517ttc.cn 版权所有 赣ICP备2024042791号-8

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务