关于VB数据类型

2024-12-02 14:18:23
推荐回答(5个)
回答(1):

一、数据类型概述
数据:计算机能够处理数值、文字、声音、图形、图像等信息,均称为数据。
数据类型:根据数据描述信息的含义,将数据分为不同的种类,对数据种类的区分规定,称为数据类型。数据类型的不同,则在内存中的存储结构也不同,占用空间也不同
VB的基本数据类型:
数值型数据 (主要数据类型) 日期型 字节型
货币型 逻辑型 字符串型 对象型 变体型

二、 数值数据类型
数值类型分为整数型和实数型两大类。
1、整数型
整数型是指不带小数点和指数符号的数。
按表示范围整数型分为:整型、长整型
(1)整型(Integer,类型符%)
整型数在内存中占两个字节(16位)
十进制整型数的取值范围:-32768 ~ +32767
例如:15,-345,654%都是整数型。而45678%则会发生溢出错误。
(2)长整型(Long,类型符&)
长整数型在内存中占4个字节(32位)。
十进制长整型数的取值范围:
-2147483648 ~ +2147483647
例如:123456,45678&都是长整数型。

2、实数型(浮点数或实型数)
实数型数据是指带有小数部分的数。
注意:数12和数12.0对计算机来说是不同的,前者是整数(占2个字节),后者是浮点数(占4个字节)
实数型数据分为浮点数和定点数。
浮点数由三部分组成:符号,指数和尾数。
在VB中浮点数分为两种:
单精度浮点数( Single )
双精度浮点数( Double )

(1)单精度数(Single,类型符!)
在内存中占4个字节(32位),,有效数字:7位十进制数
取值范围:负数 -3.402823E+38 ~ -1.401298E-45
正数 1.401298E-45 ~ 3.402823E+38

在计算机程序里面不能有上标下标的写法,所以乘幂采用的是一种称为科学计数法的表达方法

这里用E或者e表示10的次方(E/e大小写都可以)
比如:1.401298E-45表示1.401298的10的负45次方

vb里面可以这样表示:8.96E-5
例:21e5(正号省略)表示:
21乘以10的5次方的一个单精度数

(2) 双精度数(Double,类型符#)
Double类型数据在内存中占用8个字节(64位)
Double型可以精确到15或16位十进制数,即15或16位有效数字。
取值范围:
负数: –1.797693134862316D+308 ~ -4.94065D-324
正数: 4.94065D-324 ~ 1.797693134862316D+308
比如17.88D5,表示它是一个双精度数,表示17.88乘以10的5次方
这里用D来表示10的次方

二、 货币型(Currency,类型符@)
主要用来表示货币值,在内存中占8个字节(64位);
整数部分为15位,可以精确到小数点后4位,第五位四舍五入;属于定点实数
货币型数据的取值范围:
-922337203685447. 5808 ~ 922337203685447. 5807
跟浮点数的区别:小数点后的位数是固定的,4位
例如:3.56@ 、 65.123456@都是货币型。

三、 字节型(Byte,无类型符)
一般用于存储二进制数。
字节型数据在内存中占1个字节(8位)。
字节型数据的取值范围:0 ~ 255

四、 日期型(Date)
在内存中占用8个字节,以浮点数形式存储。
日期型数据的日期表示范围为:
100年1月1日~9999年12月31日
日期型数据的时间表示范围为:
00:00:00 ~ 23:59:59
用#括起来放置日期和时间,允许用各种表示日期和时间的格式。
日期可以用“/”、“,”、“-”分隔开,可以是年、月、日,也可以是月、日、年的顺序。时间必须用“:”分隔,顺序是:时、分、秒。

例:
#09/10/2000# 或 #2000-09-12#
#08:30:00 AM#
#09/10/2000 08:30:00 AM#

例:
Dim mylab As Date
mylab = #9/3/2001 11:35:00 AM#
Time = mylab

在VB中会自动转换成mm/dd/yy(月/日/年)的形式。

五、 逻辑型(Boolean)
逻辑型数据在内存中占2个字节。
逻辑型数据只有两个可能的值:
True(真) False(假)
若将逻辑型数据转换成数值型,则:
True(真)为 –1 False(假)为 0
当数值型数据转换为Boolean型数据时:
非0的数据转换为true,0为fasle。

六、字符串( String ,类型符$)
字符串是一个字符序列,必须用双引号括起来
说明:
双引号为分界符,输入和输出时并不显示。
字符串中包含字符的个数称为字符串长度。
长度为零的字符串称为空字符串,比如“”,引号里面没有任何内容
字符串中包含的字符区分大小写。
字符串可分为变长字符串和定长字符串两种。

(1).变长字符串(长度为字符串长度)
例:dim a as string
a="123" a="456789“
(2).定长字符串(长度为规定长度)
对于定长字符串,当字符长度低于规定长度,即用空格填满,当字符长度多于规定长度,则截去多余的字符。
例:dim a as string * 10

七、对象数据类型(Object )
对象型数据在内存中占用4个字节。用以引用应用程序中的对象。
八、变体数据类型(Variant )
变体数据类型是一种特殊数据类型,具有很大的灵活性,可以表示多种数据类型,其最终的类型由赋予它的值来确定。

九、用户自定义类型
如果我想同时记录一个学生的学号、姓名、性别、总分,那么我可以用自定义类型。
用户自定义类型特点:这种类型的数据由若干个不同类型的基本数据组成。
自定义类型由Type语句来实现:
格式:Type 自定义类型名
元素名1 As 类型名
元素名2 As 类型名
……
元素名n As 类型名
End Type
Type是语句定义符,告诉VB现在要定义一个数据类型,是vb的关键字;其后的自定义类型名是要定义的该数据类型的名称,由用户确定;end type表示类型定义结束;自定义类型名是组成该数据类型的变量的名称
例:
Type Student
Num As Long ‘学号
Name As String*10 ‘姓名,用长度为10的定长字符串来存储
Sex As String*5 ‘性别,用长度为5的定长字符串来存储
Score As Single ‘得分,用单精度数来存储
End Type
一般在标准模块里面定义,如果只想在窗体里面定义,则前面必须加上Private,表示该类型只对本窗体有效,其他窗体无法定义该类型的变量。
定义了Student类型之后,我们就可以定义Student类型的变量了,比如: Dim Stu As Student

回答(2):

Byte 变量存储为单精度型、无符号整型、8 位(1个字节)的数值形式,范围在 0 至 255 之间。

Integer 变量存储为 16位(2 个字节)的数值形式,其范围为 -32,768 到 32,767 之间。Integer 的类型声明字符是百分比符号 (%)。

Long(长整型)变量存储为 32 位(4 个字节)有符号的数值形式,其范围从 -2,147,483,648 到 2,147,483,647。Long 的类型声明字符为和号 (&)。

Single(单精度浮点型)变量存储为 IEEE 32 位(4 个字节)浮点数值的形式,它的范围在负数的时候是从 -3.402823E38 到 -1.401298E-45,而在正数的时候是从 1.401298E-45 到 3.402823E38。Single 的类型声明字符为感叹号 (!)。

Double(双精度浮点型)变量存储为 IEEE 64 位(8 个字节)浮点数值的形式,它的范围在负数的时候是从 -1.79769313486232E308 到 -4.94065645841247E-324,而正数的时候是从 4.94065645841247E-324 到 1.79769313486232E308。Double 的类型声明字符是数字符号 (#)。

Currency 变量存储为 64 位(8 个字节)整型的数值形式,然后除以 10,000 给出一个定点数,其小数点左边有 15 位数字,右边有 4 位数字。这种表示法的范围可以从 -922,337,203,685,477.5808 到 922,337,203,685,477.5807。Currency 的类型声明字符为at号 (@)。

Date 变量存储为 IEEE 64 位(8 个字节)浮点数值形式,其可以表示的日期范围从 100 年 1 月 1 日到 9999 年 12 月 31 日,而时间可以从 0:00:00 到 23:59:59。任何可辨认的文本日期都可以赋值给 Date 变量。日期文字须以数字符号 (#) 扩起来,例如,#January 1, 1993# 或 #1 Jan 93#。

Boolean 变量存储为 16 位(2 个字节)的数值形式,但只能是 True 或是 False。Boolean 变量的值显示为 True 或 False(在使用 Print 的时候),或者 #TRUE# 或 #FALSE#(在使用 Write # 的时候)。使用关键字 True 与 False 可将 Boolean 变量赋值为这两个状态中的一个。

字符串有两种:变长与定长的字符串。
变长字符串最多可包含大约 20 亿 ( 2^31)个字符。String
定长字符串可包含 1 到大约 64K ( 2^16 ) 个字符。String * Number
String 的类型声明字符为美元号 ($)。

Variant 数据类型是所有没被显式声明(用如 Dim、Private、Public 或 Static等语句)为其他类型变量的数据类型。Variant 数据类型并没有类型声明字符。
Variant 是一种特殊的数据类型,除了定长 String 数据及用户定义类型外,可以包含任何种类的数据。Variant 也可以包含 Empty、Error、Nothing 及 Null等特殊值。可以用 VarType 函数或 TypeName 函数来决定如何处理 Variant 中的数据。
数值数据可以是任何整型或实型数,负数时范围从
-1.797693134862315E308 到 -4.94066E-324,正数时则从 4.94066E-324 到 1.797693134862315E308。通常,数值 Variant 数据保持为其 Variant 中原来的数据类型。例如,如果把一个 Integer赋值给 Variant,则接下来的运算会把此 Variant 当成 Integer 来处理。然而,如果算术运数针对含 Byte、Integer、Long 或 Single 之一的Variant 执行,并当结果超过原来数据类型的正常范围时,则在 Variant 中的结果会提升到较大的数据类型。如 Byte 则提升到 Integer,Integer 则提升到 Long,而 Long和Single 则提升为 Double。当 Variant 变量中有 Currency、Decimal 及 Double 值超过它们各自的范围时,会发生错误。

回答(3):

vb
当中的简写不是很多:
整型integer

%

5%
长整型
long

&

5&
还有:单精度

双精度
#
货币型
@
字符串
$

回答(4):

dim
a
as
integer
'定义为整型
(-32768到32767全是整数)
dim
b
as
integer
'定义为整型
(-32768到32767全是整数)
系统会自动把小数舍去

回答(5):

VB
中的去尾法。其语法为语法:,Fix(a)
,Int(b)

Fix
是返回大于或等于a的整数,Int
是返回小于或等于
b
的整数。
Integer
是整型,所以就没有了后面的小数点。