早教吧作业答案频道 -->其他-->
vb中variant是什么意思,有什么用法
题目详情
vb中variant是什么意思,有什么用法
▼优质解答
答案和解析
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 值超过它们各自的范围时,会发生错误.
可以用 Variant 数据类型来替换任何数据类型,这样会更有适应性.如果 Variant 变量的内容是数字,它可以用字符串来表示数字或是用它实际的值来表示,这将由上下文来决定,例如:
Dim MyVar As Variant
MyVar = 98052
在前面的例子中,MyVar 内有一实际值为 98052 的数值.像期望的那样,算术运算子可以对 Variant 变量运算,其中包含数值或能被解释为数值的字符串数据.如果用 + 运算子来将 MyVar 与其他含有数字的 Variant 或数值类型的变量相加,结果便是一算术和.
Empty 值用来标记尚未初始化(给定初始值)的Variant 变量.内含 Empty 的 Variant 在数值的上下文中表示 0,如果是用在字符串的上下文中则表示零长度的字符串 ("").
不应将 Empty 与 Null 弄混.Null 是表示 Variant 变量确实含有一个无效数据.
在 Variant 中,Error 是用来指示在过程中出现错误时的特殊值.然而,不像对其他种类的错误那样,程序并不产生普通的应用程序级的错误处理.这可以让程序员,或应用程序本身,根据此错误值采取另外的行动.可以用 CVErr 函数将实数转换为错误值来产生 Error 值.
变体类型Variant
变体类型Variant,能够在运行期间动态的改变类型.变体类型能支持所有简单的数据类型,如整型、浮点、字符串、布尔型、日期时间、货币及OLE自动化对象等,不能够表达Object Pascal对象.
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 值超过它们各自的范围时,会发生错误.
可以用 Variant 数据类型来替换任何数据类型,这样会更有适应性.如果 Variant 变量的内容是数字,它可以用字符串来表示数字或是用它实际的值来表示,这将由上下文来决定,例如:
Dim MyVar As Variant
MyVar = 98052
在前面的例子中,MyVar 内有一实际值为 98052 的数值.像期望的那样,算术运算子可以对 Variant 变量运算,其中包含数值或能被解释为数值的字符串数据.如果用 + 运算子来将 MyVar 与其他含有数字的 Variant 或数值类型的变量相加,结果便是一算术和.
Empty 值用来标记尚未初始化(给定初始值)的Variant 变量.内含 Empty 的 Variant 在数值的上下文中表示 0,如果是用在字符串的上下文中则表示零长度的字符串 ("").
不应将 Empty 与 Null 弄混.Null 是表示 Variant 变量确实含有一个无效数据.
在 Variant 中,Error 是用来指示在过程中出现错误时的特殊值.然而,不像对其他种类的错误那样,程序并不产生普通的应用程序级的错误处理.这可以让程序员,或应用程序本身,根据此错误值采取另外的行动.可以用 CVErr 函数将实数转换为错误值来产生 Error 值.
变体类型Variant
变体类型Variant,能够在运行期间动态的改变类型.变体类型能支持所有简单的数据类型,如整型、浮点、字符串、布尔型、日期时间、货币及OLE自动化对象等,不能够表达Object Pascal对象.
看了 vb中variant是什么意...的网友还看了以下:
请Matlab高手看看我的程序问题出在哪用Levenberg-Marquardt法进行非线性拟合, 2020-05-16 …
——Tom,you are 10 minutes late,please don't be lat 2020-05-16 …
Didn't he plant trees yesterday?____.And he is go 2020-05-17 …
由零初值的标准布朗运动定义的统计量Z=sup{t:B(t)-t^2=sup{B(u)-u^2},t 2020-06-08 …
.请教A+B=A(B^T)B+A(A^T)B能写成A+B=AB(B^T)+(A^T)AB.请教A+ 2020-06-12 …
信号与系统y′(t)+3y(t)=f(t)*s(t)+2f(t);求h(t)其中s(t)=[e^2 2020-06-29 …
有关极限的算法a^t-b^t/t如何能化简出答案为lna/b.a^t-b^t/t如何能化简出答案为 2020-07-30 …
(2009•大连二模)已知映射:f:A→B,其中→A=R+,B=R,对应法则为:f:x→y=lnx 2020-07-30 …
给定两点A(x1y1)和B(x2y2)若取一点P(xy)使x=(1-t)x1+tx2y=(1-t) 2020-08-01 …
已知以点C(t,2/t)),(t>0)为圆心的圆与与X轴交与O,A,与Y轴交与点O,B其中O为坐标 2020-08-02 …