Excel VBA编程 数值型数据类型
数值型的数据共包含6种,例如,Integer、Long等。其中,数值型数据可以分为整型和浮点型,主要用于表示固定精度和范围的数值型数据。下面具体数值型数据的功能:
● Integer和Long
Integer和Long分别表示整数型和长整数型的数据,用于保存整数。它们的运算速度快、精确,但表示的数据范围小。
其中,整数型数值是指数据常量或者变量为整数,即没有小数部分的数。整数型数值可以是正数或者负数。例如,2、5、-6等,而1.13和0.4333不是整数。整数型数值一般相对范围较小,其取值范围在-32768~32767之间,数据的存储为16位(2个字节)的数值形式。在声明整数型字符时,可以使用Integer关键字,也可以使用整数类型声明字符——百分比符号(%)。
提 示 | Integer类型的数值,当为其取值范围-32768~32767之外的数据时,程序运行时就会产生“溢出”而中断。 |
可以在一个语句中利用Integer声明几个变量。例如,在下面的语句中,变量intX、intY、与intZ被声明为Integer 类型的变量。。
Dim intX As Integer, intY As Integer, intZ As Integer
或者,还可以使用IntX%声明Integer类型变量,如:
Dim IntX%
如果用户所存放的数据为整数,应该将他声明成Integer或者Long类型。整数的运算速度比较快,并且占用的内存空间较小。尤其在循环中作为计数器变量使用时,Integer或者Long类型尤为重要。下面介绍长整数型数据的用法:
长整数型数据也是整数,但其取值范围要比整数型数据更大。一般长整数型的数据存储为32位(4个字节)的数值形式,其取值范围为-2147483648~2147483647。。在声明长整数型字符时,可以使用Long关键字,如:
Dim LongX As Long
或者,也可以使用长整数型声明字符——和号(&),如:
Dim LongY&
● Single和Double
Single和Double分别表示单精度和双精度型数据,可以用于保存浮点实数,且表示的数据范围大,但运算速度较慢。
其中,单精度型与整数和长整数型数据不同,它包含了小数部分,存储为32位(4个字节)。它可以取值为负数(-3.40283E38~-1.401298E-45)、正数(1.401298E-45~3.402823E38)和零(0)。
用户可以使用以下的单精度浮点数来表示:
±n.n、±!、±nE±m、±n.nE±m
即分别为小数形式、整数加单精度类型符和指数形式,其中,n和m分别为无符号整数。例如,14.2、14.2!、0.142E+2都表示为同值的单精度浮点数。
在声明单精度型字符时,可以使用Single关键字,定义变量类型如下:
Dim ab As Single
vba 字符串转数组或者,也可以使用单精度型声明字符——感叹号(!),如:
Dim ab!
注 意 | Single型表示的数据类型并不是很精确,所以当程序中使用的数值范围不是很大时,应该避免使用Single变量。 |
另外,如果需要存储比单精度更大的数据,则可以使用双精度型。Double(双精度型)允许存储64位(8个字节)的数据。它也可以取值为负数(-1.79769313486231E308~-4.94065645841247E-324)、正数(4.94065645841247E-324到1.79769313486232E308)和零(0)。
要表示双精度浮点数,对小数形式只需要数字后加“#”或者用“#”代替“!”,对指数形式用“D”
代替“E”或指数形式后加“#”。例如,14.2#、0.142D+2、0.142E+2#等都表示为同值的双精度浮点数。
定义变量类型如下:
Dim cd#
或者,可以使用Double关键字来声明变量,如:
Dim cd As Double
● Currency
在Excel VBA中,一般通过整数型、长整数型、单精度型和双精度型来声明大部分数值内容。但当工作表中处理货币时,则需要将变量或者常量声明为货币型(Currency)。
Currency型数据的存储占用8个字节,是整型的数值形式。它与小数型(Decimal)属于两种比例数模型,并提供了高标准的精确度,也被称为定点数据类型。
定义变量类型如下:
Dim money As Currency
● Byte
字节型数据的变量存储为单精度型、无符号整型、8位(1个字节)的数值形式,其范围在0至255之间。该类型的数据的关键字为Byte,用于存储二进制数。
定义变量类型如下:
Dim ByteB As Byte
Byte数据类型主要用于操作字符串,对某些字符串操作来说,将字符串转换成字节数组可以大大提高运算性能。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论