
3.1 数据类型
数据是客观事物的符号化表示。例如,学生的姓名为“黎明”,入学日期为“2013-8-13”,入学成绩为635分等。根据数据的表现形式不同,将数据划分为不同的数据类型。例如,姓名“黎明”是字符型数据;入学日期为日期型数据;而入学成绩是数值型的数据。
Visual Basic具有强大的数据处理能力,包括基本数据类型和复合数据类型。基本数据类型是Visual Basic系统内部预先定义的数据类型,主要有数值型、字符型、逻辑型、日期型、对象型和变体型等。复合数据类型是由基本数据类型组成的,包括数组和自定义数据类型。图3-1给出了Visual Basic中的数据类型。本节仅介绍Visual Basic基本数据类型,复合数据类型将在本书的第5章详细介绍。

图3-1 Visual Basic的数据类型
不同的数据类型在内存所占存储空间大小不同,数据表现形式也不同,参与的运算也不同。表3-1归纳了Visual Basic支持的基本数据类型的名称、类型关键字、类型符、占用字节数和表示范围等信息。
表3-1 Visual Basic基本数据类型

1.数值型
数值型数据包括整型、长整型、单精度型、双精度型、货币型和字节型。各种数值型数据所表示的数据范围各有不同,当应用程序运行时发生“溢出(要表示的数据超出所使用的数据类型表示范围时,就产生数据的溢出。)”错误时,可以将数据类型更改为表示范围更大的数据类型,以解决数据溢出问题。
(1)整型。整型(Integer)数指不带小数点的数,表示的数据范围为-215~215-1。例如,12、-56、+17809、-675%均表示整型数。
(2)长整型。长整型(Long)数指不带小数点的数,表示的数据范围为-231~231-1。例如,12&、-567&均表示长整型数。
(3)单精度型。单精度型(Single)数可以包含小数,表示的数据范围为-3.4×1038~3.4×1038,运算精度达7位。单精度数有多种表示形式,例如,111.4234、111.4234!、111!、1.11E+8都表示单精度浮点数。
(4)双精度型。双精度型(Double)数可以包含小数,表示的数据范围为-1.7×10308~1.7×10308,运算精度达15位。双精度数有多种表示形式,例如,111.4234#、111#、1.11D+8都表示双精度浮点数。
(5)货币型。货币型(Currency)数可以包含小数,表示的数据范围为-296~296-1,精度达28位。货币型数据是为了进行货币计算而设置的定点实数或整数,最多保留小数点右边4位和小数点左边15位,精度比较高。货币型数的表示用“@”类型符标识,不可省略。例如,111@、111.34@、-111.323@都表示货币型数据。
(6)字节型。字节型(Byte)数表示0~255之间的无符号整数,仅用1字节表示。
2.字符型
字符型(String)又称字符串型,是用双引号("")(注:西文状态下的双引号)括起来的通过键盘能够输入的任何字符,包括所有西文字符、汉字和标点符号等。例如,"324"、"Visual Basic程序设计" 、"@3<"等都是字符型数据。
注意:""表示空字符串。如果双引号是字符串的组成内容,可以使用两个连续的双引号表示。例如,"""Visual Basic """。
Visual Basic中的字符型数据分为定长字符串(String*n)和变长字符串(String)两种。前者存放固定长度为n的字符串,后者存放长度可变的字符串。
3.逻辑型
逻辑型(Boolean)又称布尔型,只有True和False两种取值。当逻辑型数据转换为整型数据时,True转换为-1,False转换为0;当将其他类型数据转换为逻辑型数据时,非0数据转换为True,0转换为False。
4.日期型
日期型(Date)数据是用号码符(##)将任何字面上可以被认为日期和时间的字符括起来的数据。例如,#March 8, 2014#、#03/08/2014#、#2014-3-8 8:00PM#等都是合法的日期型数据。
5.对象型
对象型(Object)用于表示引用应用程序中的对象,它可以是控件对象、OLE对象等。
6.变体型
变体型(Variant)是一种可变的数据类型,可以是数值型、字符型、逻辑型、日期型、对象型等。