急需一份全部VB的数据类型的代码和注解

新手

  不知是不是你要的
  信息来自vb的MSDN

  数据类型

  变量是用来存储值的所在处;它们有名字和数据类型。变量的数据类型决定了如何将代表这些值的位存储到计算机的内存中。在声明变量时也可指定它的数据类型。所有变量都具有数据类型,以决定能够存储哪种数据。

  根据缺省规定,如果在声明中没有说明数据类型,则令变量的数据类型为 Variant。Variant 数据类型很象一条变色龙— 它可在不同场合代表不同数据类型。当指定变量为 Variant 变量时,不必在数据类型之间进行转换,Visual Basic 会自动完成各种必要的转换。

  但是,如果知道变量确实总是存储特定类型的数据,并且还声明了这种特定类型的变量,则 Visual Basic 会以更高的效率处理这个数据。例如,存储人名的变量最好表示成 String 数据类型,因为名字总是由字符组成。

  除变量外,数据类型也用于其它场合。在给属性赋值时,这个值就有数据类型;函数的参数也有数据类型。事实上,在 Visual Basic 中,凡是与数据有关的东西就与数据类型有关。

  也可声明任何基本类型的数组。

  详细信息 关于更详细信息,请参阅本章后面的“数组”部分。在“性能和兼容性的设计”中还将讨论通过选择数据类型来提高应用程序的性能。

  声明带数据类型的变量
  在使用非 Variant 变量之前,必须使用 Private、Public、Dim 或 Static 语句将变量声明为 As type。例如,下列语句分别声明了 Integer、Double、String 和 Currency 类型的变量:

  Private I As Integer
  Dim Amt As Double
  Static YourName As String
  Public BillsPaid As Currency

  一个声明语句可将多个声明组合起来,请看下列语句:

  Private I As Integer,Amt As Double
  Private YourName As String,BillsPaid As Currency
  Private Test,Amount,J As Integer

  注意 如果不提供数据类型,则指定变量为缺省类型。在上例中,变量 Test 和 Amount 是 Variant 数据类型。如果由于其它编程语言的经验使人感到同一个声明语句中的所有变量都有相同的指定数据类型(此例中为 Integer),那么,此处的结果可能会令人感到新鲜。

  Numeric 数据类型
  Visual Basic 支持几种 Numeric 数据类型— Integer(整型)、Long(长整型)、Single(单精度浮点型)、Double(双精度浮点型)和 Currency(货币型)。与 Variant 类型相比,Numeric 类型占用的存储空间通常要少。

  如果知道变量总是存放整数(如 12 )而不是带小数点的数字(如 3.57),就应当将它声明为 Integer 类型或 Long 类型。整数的运算速度较快,而且比其它数据类型占据的内存要少。在 For...Next 循环内作为计数器变量使用时,整数类型尤为有用。

  详细信息 关于控制结构的详细资料,请参阅本章后面的“控制结构概述”。

  如果变量包含小数,则可将它们声明为 Single、Double 或 Currency 变量。Currency 数据类型支持小数点右面 4 位和小数点左面 15 位;它是一个精确的定点数据类型,适用于货币计算。浮点(Single 和 Double)数比 Currency 的有效范围大得多,但有可能产生小的进位误差。

  注意 浮点数值可表示为 mmmEeee 或 mmmDeee ,其中 mmm 是假数,而 eee 是指数(以 10 为底的幂)。Single 数据类型的最大正数值为 3.402823E+38,或 3.4 乘以 10 的 38 次方;Double 数据类型的最大正数值是 1.79769313486232D+308 或 1.8 乘以 10 的 308 次方。用 D 将数值文字中的假数部分和指数部分隔开,就会导致将该值作为 Double 数据类型来处理。同样,用这种方式使用 E,也会导致将该值作为 Single 数据类型来处理。

  Byte 数据类型
  如果变量包含二进制数,则将它声明为 Byte 数据类型的数组。(本章后面的“数组”中将讨论数组)。在转换格式期间用 Byte 变量存储二进制数据就可保留数据。当 String 变量在 ANSI 和 Unicode 格式间进行转换时,变量中的任何二进制数据都会遭到破坏。在下列任何一种情况下,Visual Basic 都会自动在 ANSI 和 Unicode 之间进行转换:

  读文件时

  写文件时

  调用 DLL 时

  调用对象的方法和属性时
  除一元减法外,所有可对整数进行操作的运算符均可操作 Byte 数据类型。因为 Byte 是从 0 - 255 的无符号类型,所以不能表示负数。因此,在进行一元减法运算时,Visual Basic 首先将 Byte 转换为符号整数。

  所有数值变量都可相互赋值,也可对 Variant 类型变量赋值。 在将浮点数赋予整数之前, Visual Basic要将浮点数的小数部分四舍五入,而不是将小数部分去掉。

  详细信息 关于 Unicode 和 ANSI 转换的详细信息,请参阅“国际化”。

  String 数据类型
  如果变量总是包含字符串而从不包含数值,就可将其声明为 String 类型。

  Private S As String

  然后可将字符串赋予这个变量,并用字符串函数对它进行操作。

  S = "Database"
  S = Left (S,4)

  按照缺省规定,String 变量或参数是一个可变长度的字符串,随着对字符串赋予新数据,它的长度可增可减。 也可以声明字符串具有固定长度。可用以下语法声明一个定长字符串:

  String * size

  例如,为了声明一个长度为 50 字符的字符串,可用下列语句:

  Dim EmpName As String * 50

  如果赋予字符串的字符少于 50 个,则用空格将 EmpName 的不足部分填满。如果赋予字符串的长度太长,已不能成为定长字符串,则 Visual Basic 会直接截去超出部分的字符。

  因为定长字符串用空格填充尾部多余的空间,所以在处理定长字符串时可发现,删除空格的 Trim 和 RTrim 函数是很有用的。

  可将标准模块中的定长字符串声明为 Public 或 Private。在窗体和类模块中,必须将定长字符串声明为 Private。

  详细信息 请参阅语言参考中的“Ltrim、RTrim Function 和 Trim 函数”。

  交换字符串和数字
  如果字符串表示数值,则可将字符串赋予数值变量。也可将数值赋予字符串变量。例如,将命令按钮、文本框和列表框放置在窗体中。在命令按钮的 Click 事件中输入下列代码。运行应用程序并单击命令按钮。

  Private Sub Command1_Click ()
  Dim intX As Integer
  Dim strY As String
  strY = "100.23"
  intX = strY '将字符串传递给数值变量。
  List1.AddItem Cos (strY) '将字符串中数值的余弦值。
  '添加到列表框中。
  strY = Cos (strY) '将余弦值传递给字符串变量。
  Text1.Text = strY '在文本框中显示字符串。
  End Sub

  Visual Basic 会自动强制变量为适当的数据类型。在转换字符串和数值时要小心;如果传送字符串中的值不是数值,则在运行时会出错。

  Boolean 数据类型
  若变量的值只是“true/false”、“yes/no”、“on/off”信息,则可将它声明为 Boolean 类型。Boolean 的缺省值为 False。在下面的例子中,blnRunning 是 Boolean 变量,存储简单的 yes/no 设置。

  Dim blnRunning As Boolean
  '查看磁带是否在转。
  If Recorder.Direction = 1 Then
  blnRunning = True
  End if

  Date 数据类型
  Date 和 Time 值既可包含在特定的 Date 数据类型中,又可包含在 Variant 变量中。一般的 Date 特性适用于这两种类型。

  详细信息 请参阅《联机手册》的“高级变量主题”中的“在 Variant 变量中存储 Date/Time 值”部分。

  当其它数值数据类型转换为 Date 时,小数点左边的值表示 Date 信息,小数点右边的值则代表 Time。午夜为 0,正午为 0.5。负数表示公元 1899 年 12 月 31 日之前的 Date。

  Object 数据类型
  Object 变量作为 32 位(4 个字节)地址来存储,该地址可引用应用程序中或某些其它应用程序中的对象。可以随后(用 Set 语句)指定一个被声明为 Object 的变量去引用应用程序所识别的任何实际对象。

  Dim objDb As Object
  Set objDb = OpenDatabase ("c:\Vb5\Biblio.mdb")

  在声明对象变量时,请试用特定的类,而不用一般的 Object(例如用 TextBox 而不用 Control,或者象上面的例子那样,用 Database 取代 Object)。运行应用程序之前,Visual Basic 可以决定引用特定类型对象的属性和方法。因此,应用程序在运行时速度会更快。在“对象浏览器”中列举了特定的类。

  当使用其它应用程序的对象,并在“对象浏览器”中的“类”列表中列举对象时,不要用 Variant 或一般的 Object,而应声明对象。这样可确保 Visual Basic 能够识别引用的特定类型对象,在运行时解决引用问题。

  详细信息 关于创建和指定对象以及对象变量的更详细信息,请参阅本章后面的“创建对象”部分。

  转换数据类型
  Visual Basic 提供了几种转换函数,可用来将值转换成特定数据类型。例如,用 CCur 函数将值转换成 Currency 类型:

  PayPerWeek = CCur (hours * hourlyPay)

  转换函数 将表达式转换成
  Cbool Boolean
  Cbyte Byte
  Ccur Currency
  Cdate Date
  CDbl Double
  Cint Integer
  CLng Long
  CSng Single
  CStr String
  Cvar Variant
  CVErr Error

  注意 对目标数据类型,传递到转换函数的值必须是有效的,否则会发生错误。例如,如果想把 Long 型数转换成 Integer 型数,那么,Long 型数必须在 Integer 数据类型的有效范围之内。

  详细信息 在联机帮助中查找指定的转换函数。

  Variant 数据类型
  Variant 变量能够存储所有系统定义类型的数据。如果把它们赋予 Variant 变量,则不必在这些数据的类型间进行转换; Visual Basic 会自动完成任何必要的转换。例如:

  Dim SomeValue '缺省为 Variant。
  SomeValue = "17" 'SomeValue包含 "17"(双字符的串)。
  SomeValue = SomeValue - 15 '现在, SomeValue 包含数值 2。
  SomeValue = "U" & SomeValue '现在, SomeValue 包含 "U2" (双字符的串)。

  不必过多关注 Variant 变量中数据的类型就可对 Variant 变量进行操作,但须避免落入陷阱。

  如果对 Variant 变量进行数学运算或函数运算,则 Variant 必包含某个数。更详细的信息,请参阅《联机手册》中“高级变量主题”中的“变量中存储的 Numeric 值”部分。

  如果正在连接两个字符串,则用 " & " 操作符而不用 " + " 操作符。更详细的信息,请参阅《联机手册》中“高级变量主题”中的“Variant 变量中存储的 Strings”部分。
  除了可以像其它标准数据类型一样操作外,Variants 还包含三种特定值:Empty,Null 和 Error。

  Empty 值
  有时需要知道是否已将一个值赋予所创建的变量。在赋值之前,Variant 变量具有值 Empty。值 Empty 是异于0、零长度字符串 ("") 或 Null 值的特定值。可用 IsEmpty 函数测试 Empty 值:

  If IsEmpty (Z) Then Z = 0

  当 Variant 变量包含 Empty 值时,可在表达式中使用它;将其作为 0 或零长度字符串来处理,这要根据表达式来定。

  只要将任何值(包括 0、零长度字符串或 Null)赋予 Variant 变量,Empty 值就会消失。而将关键字 Empty 赋予 Variant 变量,就可将 Variant 变量恢复为 Empty。

  Null 值
  Variant 数据类型还可包含一特定值:Null。Null通常用于数据库应用程序,表示未知数据或丢失的数据。 由于在数据库中使用 Null 方法,Null 具有某些唯一的特性:

  对包含 Null 的表达式,计算结果总是 Null。于是说 Null 通过表达式“传播”;如果表达式的部分之值为 Null,那么整个表达式的值也为 Null。

  将 Null 值、含 Null 的 Variant 变量或计算结果为 Null 的表达式作为参数传递给大多数函数,将会使函数返回 Null。

  Null 值经由返回 Variant 数据类型的内在函数传播。
  也可用 Null 关键字指定 Null 值。

  Z = Null

  也可用 IsNull 函数测试 Variant 变量是否包含 Null 值。

  If IsNull (X) And IsNull (Y) Then
  Z = Null
  Else
  Z = 0
  End If

  如果将 Null 值赋予 Variant 以外的任何其它类型变量,则将出现可以捕获的错误。而将 Null 值赋予 Variant 则不会发生错误,Null 将通过包含 Variant 变量的表达式传播(尽管 Null 并不通过某些函数来传播)。可以从任何具有 Variant 返回值的函数过程返回 Null。

  除非明确将 Null 赋予变量,否则变量不会设置成 Null 值,所以,如果不在应用程序中使用 Null,就不必书写测试 Null 和处理 Null 的程序。

  详细信息 关于如何在表达式中使用 Null 的详细信息,请参阅语言参考的“Null”部分。

  Error 值
  在 Variant 中,Error 是特定值,指出已发生的过程中的错误状态。但是,与其它类型错误不同,这里并未发生正常的应用程序级的错误处理。因此,程序员或应用程序本身可根据 Error 值进行取舍。利用 CVErr 函数将实数转换成错误值就可建立 Error 值。

  详细信息 关于如何在表达式中使用 Error 值,请参阅语言参考中的“CVErr 函数”部分。关于错误处理的信息,请参阅“调试代码和处理错误”。有关 Variant 数据类型的更详细信息,请参阅《联机手册》中的“高级变量主题”。
温馨提示:内容为网友见解,仅供参考
无其他回答

急需一份全部VB的数据类型的代码和注解
Single 数据类型的最大正数值为 3.402823E+38,或 3.4 乘以 10 的 38 次方;Double 数据类型的最大正数值是 1.79769313486232D+308 或 1.8 乘以 10 的 308 次方。用 D 将数值文字中的假数部分和指数部分隔开,就会导致将该值作为 Double 数据类型来处理。同样,用这种方式使用 E,也会导致将该值作为 Single 数据...

求VB注解
Dim i, sum As Integer 定义变量i、sun 为整数数值型变量 Dim a As String 定义变量a为单精度浮点型数值变量 a = Me.TextBox1.Text 变量a的值由当前窗体Me(或模块等)的文本框内容给定,文本框输入什么,a等于什么,比如TextBox1输入1234567890后,a=1234567890 For i = 1 To Len(a)...

求VB简单随机数字生成器代码?
Private Sub Form_Load() '初始化随机数发生器 Randomize End Sub Private Sub Command1_Click() '生成6位随机数 Text1.Text = Int(Rnd * 900000) + 100000 End Sub Private Sub Command2_Click() '生成8位随机数 Text1.Text = Int(Rnd * 90000000) + 10000000 End Sub Private Sub ...

在VB中注解语句的格式及作用是什么
vb的原程序中注解zd是以单引号 ' 开头的,但如果这个符号是在双引号之内的,则视为文本,不做为注释引导符,这个符号后面的内容均为注释内容。Visual Basic中,大部分的程序执行都是在事件中完成的。在代码中,控件的每一个事件都需要声明,声明方法类似一个子过程的声明。大部分的控件在双击控件进入...

VB的数据类型里面的 D和 E是什么意思的呢?
VB妮可说的“设置不同的数据类型可以提高运算速度”没错。楼主说的single的正数是1.01298E-45---1.79769313486232D308 范围有错,应为single的正数是1.401298E-45 到 3.402823E38 1.79769313486232D308中的D应为E 属于Double 数据类型中的正数上限1.79769313486232E308 关于其中的E指的是指数。见MSD...

VB中的一段代码:看说明!是什么意思?(谢谢了 )
VB声明 原型:Declare Function ExitWindowsEx Lib "user32" Alias "ExitWindows" (ByVal uFlags As Long, ByVal dwReserved As Long) As Long 说明 退出windows,并用特定的选项重新启动 返回值 Long,非零表示成功,零表示失败。会设置GetLastError 参数表 uFlags Long,指定下述一个或多个标志(用...

请哪位哥哥姐姐帮忙解释下这句vb代码
SPIF_UPDATEINIFILE 更新win.ini和(或)注册表中的用户配置文件 SPIF_SENDWININICHANGE 倘若也设置了SPIF_UPDATEINIFILE,将一条WM_WININICHANGE消 息发给所有应用程序。否则没有作用。这调消息告诉应用程序已经改变了用户配置设置 注解 在调用这个函数之前,特别要注意将lpvParam参数定义成正确的数据类型 ...

急求屏幕保护程序vb代码注解?
If Option1.Value = True Then 如果 Option1.Value 为真 那么 SaveSetting "saver", "setup", "Color", "1"‘SaveSetting 语句 在 Windows 注册表中保存或建立应用程序项目。ElseIf Option2.Value = True Then 否则如果 Option2.Value 为真 那么 SaveSetting "saver", "setup", "Color", ...

...Basic(VB)的程序代码。下面是设计界面,求高人逐字逐句解释代码_百度...
Private Sub cmdStart_Click()Dim i As Integer‘定义i为整形变量 For i = 0 To 4’i从0 到 4 进行5次循环 If option1(i).Value Then‘如果选中了第i+1注(单选框第一到第五注是option1(0) 到option1(4))Exit For’如果满足,退出for循环 End If‘结束判断 Next’for循环的结束...

在vb程中,如下代码中的带问号语句是什么意思,请注解
(Rem语句:代码后加冒号,加Rem,加注释)注:VB的默认代码字体颜色下,注释为绿色 楼主遇到的是第一种情况,如果将这些代码直接复制到VB的代码框就能看出来单引号后面的便绿色。至于'??是由于你直接复制粘贴原代码,这些字体在VB的代码框中认不出来,所以变成了??第一个问号的意思:如果打开的窗体...

相似回答
大家正在搜