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数据类型相关推荐

  1. Variant 数据类型介绍

    Variant 数据类型是所有没被显式声明(用如 Dim.Private.Public 或 Static等语句)为其他类型变量的数据类型.Variant 数据类型并没有类型声明字符. Variant ...

  2. VARIANT 数据类型简单介绍

    VIRIANT是ACTIVEX AUTOMATION需要用到的一种变量类型,可以称之为通用数据类型,其实它是一个结构.如果仅仅是调用ACTIVEX对象所提供的METHOD不需知道其中的细节.它仅用于通 ...

  3. VARIANT数据类型详解

    VARIANT 数据类型在文件OAIDL.IDL中定义如下: struct tagVARIANT {      union {          struct __tagVARIANT {       ...

  4. C++ VARIANT数据类型操作详解

    使用VARIANT来传递参数意味着非强类型语言(例如VBScript)能够调用使用强类型语言(C++)实现的方法. VARIANT的结构可以参考头文件VC98\Include\OAIDL.H中关于结构 ...

  5. VARIANT 数据类型

    VARIANT 数据类型在文件OAIDL.IDL中定义如下: [vc中数据类型,对应类为_variant_t] struct tagVARIANT {     union {         stru ...

  6. jdbc执行sql 不支持“variant”数据类型。

    把查询出来的列转换下类型 select cast(a as varchar(500)) from b cast( as varchar(500)) 转载于:https://www.cnblogs.co ...

  7. variant php,Variant 是什么数据类型?

    Variant 是什么数据类型? Variant是一种特殊的数据类型,该类型是没有类型声明字符,作用是能够在运行期间动态的改变类型,并且支持所有简单的数据类型,如整型.浮点.字符串.布尔型.日期时间. ...

  8. VC----各种数据类型VARIANT、COleVariant 、_variant_t

    VARIANT.COleVariant 和_variant_t 在OLE.ActiveX和COM中,VARIANT数据类型提供了一种非常有效的机制,由于它既包含了数据本身,也包含了数据的类型,因而它可 ...

  9. C++变体数据类型—— VARIANT

    百度百科: Variant 音标 Phonetic symbol [] 词性及解释 Part of speech and defination n. 变体, 异体 a. 不同的, 有差别的 [计] 变 ...

最新文章

  1. stm32开发之标准库的介绍
  2. DataScience:深入探讨与分析机器学习中的数据处理之非线性变换—log对数变换、sigmoid/softmax变换
  3. 云计算是怎样入侵统一通信领域的
  4. 0530JavaScript基础2
  5. linux下mysql设置关联_Linux下mysql安装与配置
  6. “PE文件格式”1.9版 完整译文
  7. rest api是什么_一文搞懂什么是RESTful API
  8. 明年的现在我也想去“双选会”应聘!
  9. mac下多个php版本快速切换的方法
  10. 在ubuntu 下 编译 在windows 下面使用的adb
  11. echarts 设置各省份颜色
  12. Linux 系统启动
  13. 所谓周末,就是在家好好做饭、好好睡觉、好好玩游戏
  14. mysql 查询和修改组合_MySql语句大全:创建、授权、查询、修改等
  15. linux文件压缩和打包
  16. 参数是list集合校验,使用@Vaild或者@Vaildated不起作用
  17. OpenCV实战——文本检测
  18. 刚刚,数学界“诺奖”Abel Prize迎来首位女性得主
  19. bugku crypto-python_jail
  20. java给图片加水印_Java 为图片添加水印(图片水印,文字水印)

热门文章

  1. 一起来看看苹果新款MacBook:CPU质变
  2. 智能家居Homekit系列一智能插座
  3. Windows 下 OpenCV 3.4.0 + Contrib 部署文档 (VS2015 Android)
  4. 我的世界Bukkit插件开发(4)——命令
  5. Midjourney8种风格介绍+使用场景(2)
  6. 计算机标记的定义,标记网格法
  7. 利用powershell安装360杀毒
  8. 2020.10.20课堂笔记(java8新特性 lambda表达式)
  9. 采用开盘价交易的方法
  10. Rocky——CentOS的延续(原版开发人员)安装与安装后必要操作(个人版)