VB里的函数,字符,运算符等等内容.doc_第1页
VB里的函数,字符,运算符等等内容.doc_第2页
VB里的函数,字符,运算符等等内容.doc_第3页
VB里的函数,字符,运算符等等内容.doc_第4页
VB里的函数,字符,运算符等等内容.doc_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

VB的数据类型比较丰富,可以分为两大类:基本数据类型和用户自定义类型。 一、基本数据类型 表3-1列出了VB使用的基本数据类型。表3-1 VB 基本数据类型数据类型关键字类型符前缀字节范围数值型整 型Integer%int2-3276832767长整型Long&lng4-21474836482147483647单精度型Single!sng4负数:-3.402823E381.401298E-45正数:1.401298E-453.402823E38双精度型Double#dbl8负数:-1.79769313486232D308-4.94065645841247D-324正数:4.94065645841247D-3241.79769313486232D308货币型Currencycur8-922337203685477.5808922337203685477.5807字节型Byte无byt10255日期型Date(time)无dtm801,01,10012,31,9999(00:00:0023:59:59)逻辑型Boolean无bln2True与False字符型String$str065535个字符对象型Object无obj4任何对象引用变体型Variant无vnt上述有效范围之一 基本数据类型是系统定义的标准数据类型,可以直接使用。分为6类:数值型,日期型,逻辑型,字符型和变体型。 (一)数值型数据 数值型数据分为整型和实型两类。整型数据分为整数和长整数,实型数据分为单精度和双精度数据。有时把货币型和字节型数据也归为数值型数据。 1.整数(Interger)。整数是不带小数点,范围在-3276832767之间,在机器内使用2个字节存储的整数。在VB中数尾常加“%”表示整型数据,也可省略。如-34,78%。 2.长整数(Long)。长整数可以超过整数-3276832767范围,可以是-21474836482147483647之间的不带小数点的整数,在机器内用4个字节存储。在VB中数尾常加:“&”表示长整型数据。如-334&,67785649&。整数(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.89E-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)。字节型数据用来存储二进制数,是范围在0255之间的无符号整数,不能表示负数,在机器内用一个字节存储。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:0023: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:Vb6student.mdb) (六)变体型数据(Variant) 变体型是一种通用的,可变的数据类型,它可以表示以上任何一种数据类型。它是声明变量时的默认类型。Variant数据类型能够存储所有系统定义类型的数据。如果把它们赋予Variant变量,则不必在这些数据的类型间进行转换,VB会自动完成任何必要的转换。假设定义a为变体型变量,在变量a中可以存放任何类型的数据,例如: a=“-BASIC”- -存放一个字符串 a=10 - 存放一个整数 a=205 -存放一个实数 a=#08152003# 存放一个日期型数据 根据赋给a的值的类型不同,变量a的类型不断变化,这就是称之为变体类型的由来。当一个变量未定义类型时,VB自动将变量定义为Variant类型。 不同类型的数据在Variant变量中是按其实际类型存放的(例如将一个整数赋给a,在内存区中按整型数方式存放),用户不必作任何转换的工作,VB自动完成。可以通过VarType函数来检测变体型变量的实际数据类型,如表3-2所示。表3-2 Variant变量的内部表示符号常量函数值数值类型V_Empty0Empty(未初始化)V_Null1Null(无有效数据)V_Integer2整数V_Long3长整数V_Single4单精度浮点数V_Double5双精度浮点数V_Currency6货币值V_Date7日期V_String8字符串V_Object9对象V_Error10错误值V_Boolean11布尔值V_Variant12Variant(只与变体中的数组一起使用)V_Object13数据访问对象V_Byte17位值V_Array8192数组 二、自定义数据类型 VB不仅提供了系统定义的以上基本数据类型,也允许用户自己定义数据类型,它由若干个基本数据类型组成。自定义类型必须通过Type语句来声明。 格式: Type数据类型名 元素名 As 类型名 元素名 As 类型名 元素名 As 类型名 End Type 其中,数据类型名为自定义数据类型名,元素名为自定义数据类型中的一个成员,类型名为上述基本类型名或自定义数据类型名。 例如:对于一个学生的“学号”、“姓名”、“性别”、“年龄”、“入学成绩”等数据,为了处理数据的方便,常常需要把这些数据定义成一个新的数据类型(如Student类型)。 Type Student Xh As StingXm As String*10 长度为10Xb As StringNl As IntegerScore As Single End Type 注意:自定义类型中的元素为字符型时,必须为定长字符串。 可以看出,自定义数据类型类似于C语言中的结构体形,因此通常把这种类型又称为记录型。 这样,就可以定义一个student类型的变量了。 Dim Estu As student用变量,元素的形式引用各成员算术运算符算术运算也就是通常所说的数学运算,在中新增了一些算术运算符,这些新增的算术运算符是由基本运算符所组成的。下表列出了这些算术运算符:运算符名称类型说明+加号双目运算符加号两边的操作数是数字类型时,要注意有没有溢出的可能;另外,“Single”类型与“Long”类型相加时,返回值为“Double”类型,如果两个操作数都为“Empty”,则返回值为“Integer”;一个是“Empty”,另一个不是时,另一个操作数即是返回值-减号或负号双目运算符或单目运算符做双目运算符时同加号。单目运算时,表示一个数的相反数*乘号双目运算符同加号/浮点除号双目运算符操作数同时为“Byte”、“Integer”或“single”,返回值在不溢出时为“Single”或“Double”整除号双目运算符操作数可以是任何类型的数,但在运算时都被取整,返回值一般为“Byte”、“Single”、“Double”。MOD求余号双目运算符返回第一个操作数整除第二个操作数的余数,例如:10 MOD 3结果为1;12.6 MOD 5结果为3求指号双目运算符对第一操作数进行连乘,连乘次数为第二个操作数,注意:求指号的运算顺序为从右到左,例如:333结果为19683,而(33)3结果为729在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是一个整数,其取值范围为032767的整数。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. PrintFormat(123.45,0000.000)“0”为数字占位符。显示一位数字或零。结果为0123.450 2. PrintFormat(123.45,0.0)结果为123.5 3. PrintFormat(123.45,#.#)“#”为数字占位符。显示一位数字或什么都不显示。结果为123.45 4. PrintFormat(123.45,#.#)结果为123.5 5. PrintFormat(0.123,.#)结果为.12 6. PrintFormat(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 显示“警告消息”图标64VbInformation 显示“通知消息”图标0vbDefaultButton1 第一个按钮是缺省值(缺省设置) 256vbDefaultButton2 第二个按钮是缺省值512vbDefaultButton3 第三个按钮是缺省值1024vbDefaultButton4 第四个按钮是缺省值vbApplicationModal 应用程序强制返回;应用程序一直被挂起,直到用户对消息框 作出响应才继续工作vbSystemModal 系统模式:在用户响应消息框前,所有应用程序都被挂起。vbMsgBoxHelpButt 16384 将Help按钮添加到消息框onVbMsgBoxSetFore 指定消息框窗口作为前景窗口groundvbMsgBoxRight 文本为右对齐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 = 35b = 12c$ = ssssd$ = qqqPrint a + b, a - b, a * b, a / bPrint a b, a Mod b, b 2, 2 * -aPrint c + d, c & dEnd Sub 2、关系运算符VB关系运算符:测试关系 运算符 表达式举例 等于 = X=Y 不等于 或 XY 小于 X XY 小于等于 = X= X=Y 比较样式 Like BAT123khg Like B?T* 返回 True 比较对象变量 Is 使用 Is 运算符来比较两个对象引用 例:查看运行结果。 Private Sub Command1_Click()c$ = 2001181101If Left(c$, 4) = 2001 Then Print 是2001级的学生n1$ = 王军If n1$ Like 王* Then Print 是姓王的学生 对Else Print 不是姓王的学生End Ifn2$ = 王军红If n2$ Like 王? Then Print 是姓王的学生Else Print 不是姓王的学生 对End IfEnd 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 = 2c = 3: d = 4Print a b And c dPrint a dPrint Not a bPrint a dPrint a dPrint a dEnd Sub 4、表达式执行顺序首先执行函数运算。其次算术运算,算术运算符优先顺序:幂、取负、乘和浮点除、整除、取模、加和减、连接再次关系运算。最后进行逻辑运算,优先顺序为:Not、And、Or、Xor、Eqv、Imp。注意: 在运算中,括号内的运算的优先于括号外的运算。字符串连接运算符不是算术运算符,它的优先级高于比较运算符,低于算术运算符。Like和比较运算符的优先顺序相同。进行模式匹配处理,应该注意?和*两个通配符。Is是对象比较运算符,它不考虑对象的值,只是针对两个对象是否参照了相同的对象。当使用幂时,符号优先,例如:4-2,表示4的负2次方。常用内部函数数学函数函数功能示例结果说明Abs(x)绝对值Abs(-50.3)50.3Exp(x)自然指数Exp(2)e*ee(自然对数的底)的某次方Fix(x)取整(取参数的整数部分)Fix(-99.8)-99Int(x)取整(取小于或等于参数的最大整数)Int(-99.8)Int(99.8)-10099Log(x)常用对数Log(1)0求自然对数值Rnd随机产生01的单精度值Int(6*Rnd)+116要产生一个从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-10参数大于0,返回1参数小于0,返回-1参数等于0,返回0Sin(x)正弦Sin(3.14159265/180*90)1三角函数以“弧度”为单位Cos(x)余弦Cos(3.14159265/180*180)-1Atn(x)计算反正切Atn(1)0.7854Tan(x)计算正切Tan(3.14159265/180*45)1Sqr(x)算术平方根Sqr(9)3相当于字符串函数函数功能示例结果说明Len(x)求字符串的长度(字符个数)Len(Vb技术)4LenB(x)求字符串的字节个数LenB(Vb技术)8VB中采用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找不到则返回0String(n,x)返回由n个

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论