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 数据类型介绍
Variant 数据类型是所有没被显式声明(用如 Dim.Private.Public 或 Static等语句)为其他类型变量的数据类型.Variant 数据类型并没有类型声明字符. Variant ...
- VARIANT 数据类型简单介绍
VIRIANT是ACTIVEX AUTOMATION需要用到的一种变量类型,可以称之为通用数据类型,其实它是一个结构.如果仅仅是调用ACTIVEX对象所提供的METHOD不需知道其中的细节.它仅用于通 ...
- VARIANT数据类型详解
VARIANT 数据类型在文件OAIDL.IDL中定义如下: struct tagVARIANT { union { struct __tagVARIANT { ...
- C++ VARIANT数据类型操作详解
使用VARIANT来传递参数意味着非强类型语言(例如VBScript)能够调用使用强类型语言(C++)实现的方法. VARIANT的结构可以参考头文件VC98\Include\OAIDL.H中关于结构 ...
- VARIANT 数据类型
VARIANT 数据类型在文件OAIDL.IDL中定义如下: [vc中数据类型,对应类为_variant_t] struct tagVARIANT { union { stru ...
- jdbc执行sql 不支持“variant”数据类型。
把查询出来的列转换下类型 select cast(a as varchar(500)) from b cast( as varchar(500)) 转载于:https://www.cnblogs.co ...
- variant php,Variant 是什么数据类型?
Variant 是什么数据类型? Variant是一种特殊的数据类型,该类型是没有类型声明字符,作用是能够在运行期间动态的改变类型,并且支持所有简单的数据类型,如整型.浮点.字符串.布尔型.日期时间. ...
- VC----各种数据类型VARIANT、COleVariant 、_variant_t
VARIANT.COleVariant 和_variant_t 在OLE.ActiveX和COM中,VARIANT数据类型提供了一种非常有效的机制,由于它既包含了数据本身,也包含了数据的类型,因而它可 ...
- C++变体数据类型—— VARIANT
百度百科: Variant 音标 Phonetic symbol [] 词性及解释 Part of speech and defination n. 变体, 异体 a. 不同的, 有差别的 [计] 变 ...
最新文章
- stm32开发之标准库的介绍
- DataScience:深入探讨与分析机器学习中的数据处理之非线性变换—log对数变换、sigmoid/softmax变换
- 云计算是怎样入侵统一通信领域的
- 0530JavaScript基础2
- linux下mysql设置关联_Linux下mysql安装与配置
- “PE文件格式”1.9版 完整译文
- rest api是什么_一文搞懂什么是RESTful API
- 明年的现在我也想去“双选会”应聘!
- mac下多个php版本快速切换的方法
- 在ubuntu 下 编译 在windows 下面使用的adb
- echarts 设置各省份颜色
- Linux 系统启动
- 所谓周末,就是在家好好做饭、好好睡觉、好好玩游戏
- mysql 查询和修改组合_MySql语句大全:创建、授权、查询、修改等
- linux文件压缩和打包
- 参数是list集合校验,使用@Vaild或者@Vaildated不起作用
- OpenCV实战——文本检测
- 刚刚,数学界“诺奖”Abel Prize迎来首位女性得主
- bugku crypto-python_jail
- java给图片加水印_Java 为图片添加水印(图片水印,文字水印)
热门文章
- 一起来看看苹果新款MacBook:CPU质变
- 智能家居Homekit系列一智能插座
- Windows 下 OpenCV 3.4.0 + Contrib 部署文档 (VS2015 Android)
- 我的世界Bukkit插件开发(4)——命令
- Midjourney8种风格介绍+使用场景(2)
- 计算机标记的定义,标记网格法
- 利用powershell安装360杀毒
- 2020.10.20课堂笔记(java8新特性 lambda表达式)
- 采用开盘价交易的方法
- Rocky——CentOS的延续(原版开发人员)安装与安装后必要操作(个人版)