编程大讲坛:Visual Basic核心开发技术从入门到精通
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

2.4 数据类型

Visual Basic提供了6种标准数据类型,另外还可以由用户自定义数据类型。在下面的内容中,主要介绍Visual Basic的标准数据类型。

Visual Basic的标准数据类型有数值型、字符型、逻辑型、日期型、对象型和变体型6种。

1.数值(Numeric)数据类型

数值数据类型有整型、浮点型、货币型和字节型4种,具体说明如下。

1)整型

整型是指不带小数点和指数符号的数,整型运算速度快、精确,但表示数的范围小。整型有整型和长整型两种。

● 整型Integer(%):存储长度为2字节(16位),数的表示范围是-32768~32767。

● 长整型Long(&):存储长度为4字节(32位),范围是-2147483648~2147483647。

2)浮点型

浮点型由符号、尾数(Q)以及指数(J)3部分组成。指数分别用“E”表示单精度、“D”表示双精度。浮点型的符号均占1位。浮点型有单精度浮点型和双精度浮点型两种。

● 单精度浮点型Single(!):以4字节形式存储(32位),可以精确到7位十进制数。单精度数的负数范围是-3.402823E+38~-1.401298E-45,正数的范围是+10401298E-45~+3.402823E+38。

● 双精度浮点型Double(#):以8字节形式存储(64位),可以精确到15~16位十进制数。双精度数的负数范围是–1.797693134862315D+308~–0.9406564584112465D–324,正数的范围是+4.940656458412465D-324~+1.797693134862315D+308。

TIPS

浮点型表示的数的范围较大,但有误差,在做浮点数的运算时,应尽量使每一次运算的结果都在有效位数范围内;尽量不要使两个相差很大的数值直接相加或相减。

3)货币型

货币型Currency是定点数,在内存中存储为64位(8字节)整型的数值形式,其小数点左边有15位数字,右边有4位数字。取值范围是-922 337 203 685 477.5808~922 337 203 685 477.5807。Currency数据类型通常被用于货币计算与定点计算领域中。

4)字节型

字节型Byte是二进制数,其存储为单精度型、无符号整型、8位(1字节)的数值形式,取值范围在0~255之间。Byte数据类型在存储二进制数据时很有用。

2.字符(String)数据类型

字符数据类型String用于存放字符数据,所谓字符型数据就是用双引号括住的字符串,例如"Abcde"和"Visual Basic欢迎你!"等。在字符串中每个字符占1字节,字符数据的范围以字符串长度的大小来度量。

Visual Basic有两种字符串,分别是变长字符串和定长字符串。

1)变长字符串

变长字符串所占的空间大小为10字节加字符串,最多可包含大约20亿(2的23次方)个字符。变长字符串的定义格式如下:

关键字 变量名 AS String

2)定长字符串

定长字符串所占字节就是字符串的长度,约包含1~64K(2的16次方)个字符。定长字符串的定义格式如下:

关键字 变量名 AS String *字符串长度

3.逻辑(Boolean)数据类型

逻辑数据类型Boolean变量主要用来进行逻辑判断,它的存储位数是16位。逻辑(Boolean)数据类型数据只有两个值,分别是true(真)和false(假)。

在Visual Basic中,逻辑数据可以转换成整型数据。这时,true转换为-1,false转换为0;而当其他类型的数据转换成逻辑数据时,非零数转换成true,0转换为false。

4.日期(Date)数据类型

日期数据类型Date用于表示及存储日期和时间的数据,它是按8字节的浮点数存储的。任何字面上可被认做日期和时间的字符(除汉字外),只要用磅号(#)括起来的都可以认为是日期型数据。例如,#1 Jan,97#、#January 1,1999#格式都可以看做为日期类型。

日期表示的范围是:从公元100年1月1日 ~ 9999年12月31日;时间表示的范围是:从0:00:00~23:59:59。

TIPS

当其他数据转换成日期型数据时,小数点左边的数值代表日期,而小数点右边的数值代表时间:0为午夜12点,0.5为中午12点;负数代表的是1899年12月31日之前的日期和时间。

5.对象(Object)数据类型

对象数据类型Object存储为32位(4字节)的数值形式,作为对象的引用。利用Set语句,声明为Object的变量可以赋值为任何对象的引用。例如下面的代码:

Sub form_click()
    Dim Temp AS Object
    Set Temp =form1
End Sub

6.变体(Variant)数据类型

变体数据类型Variant也被称为万用数据类型,这是一种特殊的数据类型,它所需类型可以根据上下文的变化而变化。除了定长的String数据及用户定义的类型之外,它可以处理任何类型的数据而不必进行数据类型的转换,是对所有未定义变量的默认数据类型的定义。

Variant类型的数据可以根据运算的实际情况而“变体”,Visual Basic提供了一个函数VarType专门用来检测Variant中保存的数据类型,例如:VarType(123)的返回值为2,表示为整型。

VarType函数的返回值与数据类型的关系如表2-2所示。

表2-2 VarType函数数据类型检测