VB数据类型

Visual Basic编程提供了标准数据类型主要有:字符串型数据和数值型数据,此外还提供了字节、货币、对象、日期、布尔和变体数据类型。

在VB程序中,所有变量都具有数据类型,以决定其用来存储哪种数据。变量的数据类型决定了如何将代表这些值的位存储到计算机的内存中。

字符串类型

字符串(String)类型的变量用来存放文字信息。字符串型变量又可分为定长字符串和变长字符串两类。

一个定长字符串变量所占的内存空间是一定的,当其中的字符信息没达到这个长度时,所剩的空间由“空格“填充。

如果给定长字符串变量赋一个超过其长度的字符串,会被截掉多余部分。

变长字符串变量所占的内存会随所赋的字符串的长度而变化。

除所保存的字符串外,还包括10个额外的字节用来存放字符数等其它信息。

变长字符串最多可包含大约 20 亿 ( 2^31)个字符。

定长字符串可包含 1 到大约 64K ( 2^16 ) 个字符(当然还受定义的大小限制)。

说明:

(1)字符串中包含的字符个数称为字符串的长度;

(2)双引号起界定作用,字符输出时不显示双引号,

从键盘输入字符串时,也不需要键入双引号;

(3)字符串中的字符靠ASCII码识别,故大小写是有区别的。如:“ABC”与“abc”是不同的字符串。

字节型

字节型(Byte):该类型的变量占用1个字节的内存空间,可以表示0到255之间的无符号数。

因为它的数据不受格式转换的影响,所以字节型的变量常用来存放每一个二进制位都具有特殊意义的二进制信息。

整型

Integer(整型):该类型的变量占用2个字节的内存空间,可以存放  -32768到32767之间的值。

整型变量在我们VB程序开发中,经常用到。

定义时可以有以下方式:

Dim inti as Integer

Dim inti%(直接用类型符时,变量与类型符合之间不加空格)

长整型

Long(长整型):占用4个字节的内存空间,取值范围是:-2147483648到2147483647

在VB中,当程序算法中计算的结果为整数,且数值比较大时,我们一般定义为Long型变量。

单精度浮点型

Single(单精度浮点型): 占用4个字节的内存空间,取值范围是:-3.402823E38  到  3.402823E38。

双精度浮点型

Double(双精度浮点型): 占用 8个字节的内存空间, 取值范围是:-1.79769313486232E308 到  1.79769313486232E308

单精度浮点类型与双精度浮点类型变量虽然可以表示绝对值很大的值,但是它的精度却不高,单精度值的有效数字为7位,双精度值的有效数字为15位。

货币型

Currency(货币型 ):该类型用8个字节的内存来存贮对精度要求很高的值,货币型数据最多可以包含15位整数和4位小数。 -922337203685477.5808 到 922337203685477.5807。

在实际项目中应根据变量所要存放值的不同来决定使用什么类型。

表示数据范围大、精度高的类型所占用的内存大、操作速度慢。

逻辑型

Boolean(逻辑型、布尔型)

该类型的变量用来存放“是与否”、“开与关”、“对与错”这样的信息。

逻辑型的变量只能有True和False两个取值。一个逻辑变量要占2个字节内存。

日期时间型

Date(日期时间型)

该类型的变量专门用来存放日期和时间数据。

Date 变量用 8 个字节来表示的日期(从 100 年 1 月 1 日到 9999 年 12 月 31 日)和时间(从 0:00:00 到 23:59:59)。

任何可辨认的日期文本都可以赋值给 Date 变量。

日期文字须以“#” 井号括起来,例如,#January 1, 1993 12:20:20# 、 #1 Jan 93#和#9:23 PM#。

Dim time As Date  : time = #2/1/98 12:23#

有时,VB会猜测编程者的意图,对已输入的日期文字格式自动作一些修改。

Object(对象型)

对象型变量占用4个字节共32位的内存空间,保存的是某一个对象的引用(即内存中的地址),程序对对象型变量的操作等于对它所引用对象的操作。

对对象型变量赋值要用Set语句。

对象型变量在被定义但未被赋值时的值是一个特殊值:Nothing。

声明对象型变量的语句: Dim 变量名 As  Object |Control| 类型名

Object类型的变量可以引用任何一种类型的对象。如果在使用中,一个变量只引用一种特定类型的对象时,就可以将该变量定义为此特定类的对象型变量。定义特定类型对象型变量,要使用对象的类型名。

变体类型

变体类型(Variant)

变体类型变量可以存贮几乎所有系统定义类型的数据(除定长字符串和用户自定义类型)。把其它类型的数据赋给变体变量,变体变量的类型会随之变化,适应新的值。变体变量在存放数值时,占16字节的内存;存放字符串时,占用22字节的内存(加字符串长度)。

变体变量类型是VB默认类型,在定义变量时可以省略“As Variant”。

Variant变量有三个的特殊的取值:Empty、Null和Error。

1 、  Empty:一个变体变量可以在下列两种情况下具有Empty值:(1)尚未赋值时;(2)被赋予Empty值之后。把Empty值赋给一个数值型变量时被理解为0,赋给一个字符串时被理解为空字符“”。

2、 Null:主要用于对数据库的操作,表示数据未知或数据不确定。Null值有如下特点:(1)如表达式的任何一部分是Null,则整个表达式的值也为Null;(2)把Null值作为参数传递给一个函数,则函数的返回值为Null。可给一个变体变量赋值 Null。(3)Null与其本身不相等。

3、 Error:如果变体变量的值为Error,则表明程序中产生出错条件了。

往期回顾●VB中用户自定义类型究竟怎么用?●VB中不同数据类型的变量之间相互转换问题!●跟我学VB独家亲自录制的共计10多G的全套VB学习资源大合集!

学习VB中有问题可以添加小编微信号:vbyjk521 ,随时在线答疑。


  1. 愿大家都能顺利学好VB编程!

sqlserver date类型和字符串比较_VB编程基本数据类型完整剖析相关推荐

  1. sqlserver date类型和字符串比较_Mongo的数据类型

    常见类型 Object ID: 文档ID String: 字符串, 最常见, 必须是有效的UTF-8 Boolean: 存储一个布尔值, true或false Integer: 整数可以是32位或64 ...

  2. sqlserver date类型和字符串比较_基于SQL Server数据库搭建主从复制实现读写分离实战演练...

    一.课程介绍 读写分离(主从同步)从字面意思就可以理解,就是把对数据库的读操作和写操作分离开.读写分离在网站发展初期可以一定程度上缓解读写并发时产生锁的问题,将读写压力分担到多台服务器上.读写分离的基 ...

  3. Java中时间戳和Date类型以及字符串日期的相互转换

    因为工作或学习时总是忘记这几个时间类型之间的相互转化方式,因此此博客作为一个日常笔记记录一下这三者之间转化的方式,好方便今后学习和工作使用. Date类型转化为字符串日期 测试代码块 // 示例打印当 ...

  4. url 参数传递的两种方式_VB编程中的传值与传址两种参数传递方式,你清楚吗?...

    Tips:欢迎公众号设置为星标,VB技术干货文章可以第一时间看到.如您在学习VB过程中有独特的见解或者想法,欢迎投稿,可在公众号文章下直接留言. 推荐阅读 1. VB编程语言基础知识点总结 2. VB ...

  5. java 后端与前端Date类型与String类型互相转换(使用注解)

    一:java 后端格式化输出Date类型的属性值到前端 后端返回的类型中,直接定义Date类型,加上此注解,直接将Date类型转成自定义的格式给前端 class TestDateOutput{@Jso ...

  6. 计算机二级日期格式,09年计算机二级辅导:指定格式的日期字符串转化成java.util.Date类型日期对象...

    09年计算机二级辅导:指定格式的日期字符串转化成java.util.Date类型日期对象 分类:计算机等级| 更新时间:2008-10-16| 来源:教育联展网 将未指定格式的日期字符串转化成java ...

  7. 字符串类型的日期如何存储到数据库Date类型的字段中

    public class ProjectDAO {private static final String insert = "insert into t_project(no,name,st ...

  8. 后端的日期类型赋值前端表单_Spring Boot实践--前端字符串日期自动转换成后台date类型。...

    简单介绍 在前后台开发的时候:日期格式会转来转去,很麻烦.大致总结如下: 1:后端返回对象:可以使用spring提供的:HttpMessageConverter来自动转换,有很多实现. 比如:Abst ...

  9. java 指定格式的date_指定格式的日期字符串转化成java.util.Date类型日期对象

    将未指定格式的日期字符串转化成java.util.Date类型日期对象,代码如下: import java.text.DateFormat; import java.text.ParseExcepti ...

最新文章

  1. h5 和native 交互那些事儿
  2. c语言链表程序框图,C语言课程设计————写下流程图! 谢谢
  3. getchar getche getch的区别
  4. 邓俊辉数据结构学习-3-栈
  5. IT职场新人第一课:我的吐槽+我学到的
  6. 十大排序算法(Java)
  7. BZOJ3999: [TJOI2015]旅游
  8. java学生签到系统视频教程_手把手教你做一个Java web学生信息、选课、签到考勤、成绩管理系统附带完整源码及视频开发教程...
  9. ipython文件每次打开重新运行吗_iPython中的多处理:当我不打开任何文件时打开的文件太多?...
  10. 10.傅里叶变换——更正式的傅里叶变换,频谱,局限性,离散傅里叶变换_4
  11. (22)FPGA面试题名词解释IRQ、BIOS、USB、VHDL、SDR
  12. 数据结构实验 7.兔子与樱花
  13. kepware rest服务器_指南安全的KEPServerEX部署-Kepware.PDF
  14. STM32开发小结--使用STM32F4串口的空闲中断模式+DMA接收不定长数据帧
  15. 开发转测试,需要哪些必备测试技能?
  16. java文件的命名_java命名规范
  17. 采用蒙特卡罗方法求解π值
  18. 软件测试:什么样的公司需要专职测试?
  19. 【HUST】网安|操作系统实验|实验一 内核编译、系统调用、编写批处理脚本
  20. OpenSSL 使用openssl工具搭建私有CA

热门文章

  1. 如何在SAP Business by design的UI上扩展新的按钮
  2. Fiori应用全屏功能的实现 - fullscreen
  3. SAP Marketing和SAP Marketing Cloud的区别
  4. ${project.build.directory}
  5. SAP CRM One Order关于索引表CRMD_ORDER_INDEX的一些性能问题的分析
  6. SAP Netweaver和Hybris的数据库层
  7. 一个查看 SAP UI5 控件所有公有方法的小技巧
  8. C语言 串口通知消息,编程模式·观察者模式、事件通知、消息队列三者区别
  9. redhat5 oracle11g安装全程详解,RedHat5+Oracle11g安装全程详解.doc
  10. python转置_python数据分析类库系列Numpy之 数组转置和轴对换