Long(长整型)变量存储为 32 位(4 个字节)有符号的数值形式,其范围从 -2,147,483,648 到 2,147,483,647。Long 的类型声明字符为和号 (&)。 3.1.3 浮点类型数据 1.单精度型(Single)
SIngle(单精度浮点型)变量存储为32 位(4 个字节)浮点数值的形式,它的范围在负数的时候是从 -3.402823E38 到 -1.401298E-45,而在正数的时候是从 1.401298E-45 到 3.402823E38。Single 的类型声明字符为感叹号 (!)。 2.双精度型(Double)
Double(双精度浮点型)变量存储为 64 位(8 个字节)浮点数值的形式,它的范围在负数的时候是从 -1.79769313486232E308 到
-4.94065645841247E-324,而正数的时候是从 4.94065645841247E-324 到 1.79769313486232E308。Double 的类型声明字符是数字符号 (#)。
3.1.4 布尔型(Boolean)
若变量的值只是\、\、\信息,则可将它声明为 Boolean 类型。Boolean 的缺省值为 False。在关系运算中,返回值为布尔型数值,布尔型变量一般用于程序流程控制的条件判断语句中。 例如: Dim testBln As Boolean TestBln=True TestBln=False
3.1.5 货币型(Currency)
货币型(Currency) 变量存储为 64 位(8 个字节)整型的数值形式,货币型的数据类型声明字符为@。货币型数据类型在货币计算中很有用,在这种场合精度特别重要。因为所有运算是整型运算,所以不会产生近似误差。
3.1.6 用来保存字符串的StrIng类型
字符串类型变量用于保存字符信息。字符串可以为定长,也可以为变长,每个字符占用一个字节。定长字符串用一个具体长度来说明,其最大长度可为64KB个字符。变长字符串可以有不超过约20亿(231)个字符的任何长度。字符串数据类型的类型声明字符是 。下面对可变长字符串和定长字符串详细说明。 1. 可变长字符串
大多数字符串变量是可变长字符串类型,存储在其中的字符串长度可以为0到约20亿个字符之间。可变长字符串变量一次只能存储一个字符串,其长度可以随程序运行而改变。例如下面一段程序将可变长字符串变量MyStrIng 的值,从一个短字符串重新赋值成一个长字符串。
Dim MyString As String '定义一个可变长字符串 MyString MyString = \
Print MyString MyString = \'赋新值后,MyStrIng 的长度变长了 Print MyString 2. 定长字符串
定长字符串存储确定长度的字符串。对此类型的变量,可以定义从0到65535(64KB)个字符的固定长度。程序可以改变定长字符串变量的内容,但是不能改变其长度。如果字符串的长度小于固定长度,则字符串的尾部自动补空格将字符串的长度与固定长度相等,如果字符串的长度大于固定长度,则字符串将被自动截取尾部多出的字符与固定长度相等。例如:
Dim MyString As String * 10 '声明长度为10字节的定长字符串 MyString MyString = \
Print MyString MyString = \的值为\
'多余的部分被截断,舍弃
Print MyString
在VB中,数字和包含数字的字符串变量可以方便地互换类型。如果字符中表示数值,则可将字符串赋予数值变量,同时也可将数值赋予字符串变量,VB会自动强制变量为适当的数据类型。例如在下面的程序中,就可以随意地将数字和字符串混合使用: DIm intX As Integer
DIm strY As String ‘将数字赋值给字符串 StrY=3716 ‘将字符串传递给数值变量
IntX=strY ‘将字符串变量作为数字传递给余弦函数,然后再将余弦值传递给字符串变量 strY=Cos(strY)
StrIng类型变量的字符码范围是0~255。字符集的前128个字符(0~127)对应于标准键盘上的字符与符号,而后128个字符(128~255)则代表了一些特殊字符,例如国际字符、重音字符、货币符号及分数。使用StrIng类型可以声明两种字符串:变长与定长的字符串。
3.1.7 VarIant类型
当使用类似Dim Temp 或者Public Temp 这样没有显式指定变量类型的语句声明变量时,VB默认这个变量型为VarIant类型。
VarIant是一种特殊的数据类型,除了定长StrIng数据及用户定义类型外,可以包含任何种类的数据。如果把它们赋予VarIant 变量,则不必在这些数据的类型间进行转换;VB会自动完成任何必要的转换。程序员可以用VarType函数或TyprName函数来决定如何处理Variant中数据。
当VarIant类型的变量包含数值数据时,可以是任何整型或实型数,负数时范围从-1.798E308到-4.941E-324,正数时则从4.941E-324到1.798E308。通常,Variant变量会保持原来的数据类型。例如,如果把一个Integer类型的值赋值给VarIant类型的变量,则接下来的运算会把此Variant当成Integer来处理。但是,如果算术运算针对包含Byte、Integer、Long或Single的Variant变量执行,而且结果 超过原来 数据类型 正常范围时,则在VarIant变量中的结果会提升到数值范围较大的数据类型。如Byte则提升到Integer,Integer提升到Long,而Long 和Single则提升为Double。当Variant变量中的Currency、Decimal及Double类型的值超过它们各自的范围时,就会发生错误。 在程序代码中,可以用VarIant数据类型来替换任何数据类型,这样会更有适应性。如果VarIant变量的内容是数字,它可以用字符串来表示数字或者用它实际的值来表示,这将由上下文来决定。
除了可以包含各种类型的数据外,VarIant类型的变量也可以包含Empty、Error及Null等特殊值。 . Empty值
Empty值用来标记尚未初始化(给定初值)的VarIant变量。在赋值之前,Variant变量具有值Empty。值Empty是异于0、零长度字符串(” “)或Null值的特定值。程序员可以使用IsEmpty函数来测试一个变量是示波器具有Empty值:If IsEmpty(z) Then z=0
当Variant变量包含Empty值时,可在表达式中使用它;内含Empty 的Variant在数值的上下文中表示0,如果是用在字符串的一下文中则表示零长度的字符串(” “)。
只要将任何值(包括0、零长度字符串或Null)赋予Variant变量,Empty值就会消失。而将关键字Empty 赋予Variant变量,就可将Variant变量恢复为Empty。 . Null值
VarIant数据类型还可包含一特定值:Null。Null通常用于数据库应用程序,表示未知数据或丢失的数据。由于在数据库中使用Null方法,Null具有某些唯一的特性:
1.对包含Null 的表达式,计算结果总是Null。于是予Null通过表达式”传播”;如果表达式的部分之值为Null,那么整个表达式的值也为Null。 2.将Null值、含Null的VarIant变量或计算结果为Null的表达式作为参数传递给大多数函数,将会使函数返回Null。 也可用Null关键字指定Null值,例如:z=Null
如果要测试Variant变量是否包含null值,可以例用IsNull函数。 . Error值
在Variant数据类型中,Error是用来指示在过程中出现错误时的特殊值。然而,不像对其他种类的错误那样,程序并不产生普通的应用程序级的错误处理。这可以让程序员,或应用程序本身,根据此错误值采取另外的行动。可以用CVE函数将实数转换为错误值来产生Error值。
3.1.8 用来保存日期的Date 类型
Date 类型的变量存储为64位浮点数值形式,其可以表示的日期范围从公元100年一月1日到公元9999年12月31日,而时间可以从0:00:00到23:59:59.。程序员可以使用下面的方式将日期赋值给Date型的变量,要注意日期文字必须使用符号#括起来,否则VB将不能正确地识别日期: Dim testDate As Date TestDate=#12/5/96#
TestDate=#1996-12-5 12:30:00PM# TestDate=#96,12,5#