Visual Basic 数据类型

数据类型是指用于声明不同类型的变量或函数的扩展系统。变量的类型决定了它在存储器中占用多少空间以及如何解释存储的位模式。


VB 数据类型

VB 提供了广泛的数据类型。下表显示了所有 VB 可用的数据类型

数据类型存储分配(大小)值范围
Boolean取决于平台True 或 False
Byte1 个字节0 ~ 255(无符号)
Char2 个字节0 ~ 65535(无符号)
Date8 个字节0001 年 1 月 1 日 00:00:00(午夜)至 9999 年 12 月 31 日 11:59:59 PM
Decimal16个字节0 ~ +/-79,228,162,514,264,337,593,543,950,335 (+/-7.9…E+28) 没有小数点; 0 ~ +/-7.9228162514264337593543950335,在小数点右边有 28 位数字值
Double8个字节负值范围:-1.79769313486231570E + 308 至 -4.94065645841246544E-324;
正值范围:4.94065645841246544E-324 至 1.79769313486231570E+308
Integer4个字节-2,147,483,648 至 2,147,483,647(有符号)
Long8 个字节-9,223,372,036,854,775,808 至 9,223,372,036,854,775,807(带符号)
Object在 32 位平台上有 4 个字节,在 64 位平台上有 8 个字节任何类型都可以存储在 Object 类型的变量中
SByte1 个字节-128 至 127(有符号)
Short2 个字节-32,768 至 32,767(有符号)
Single4 个字节-3.4028235E + 38 到 -1.401298E-45 为负值;1.401298E-45 至 3.4028235E + 38 为正值
String取决于平台0 到约 20 亿个 Unicode 字符
UInteger4 个字节0 到 4,294,967,295(无符号)
ULong8 个字节0 到 18,446,744,073,709,551,615(无符号)
用户自定义取决于平台结构中的每个成员都有一个由其数据类型决定的范围,而与其他成员的范围无关
UShort2 个字节0 ~ 65,535(无符号)

实例

以下实例演示了一些类型的使用,创建一个项目:DataTypes,并创建一个 VB 文件:DataTypes.vb:

  1. Module DataTypes
  2. Sub Main()
  3. Dim b As Byte
  4. Dim n As Integer
  5. Dim si As Single
  6. Dim d As Double
  7. Dim da As Date
  8. Dim c As Char
  9. Dim s As String
  10. Dim bl As Boolean
  11. b = 1
  12. n = 1234567
  13. si = 0.12345678901234566
  14. d = 0.12345678901234566
  15. da = Today
  16. c = "U"c
  17. s = "Me"
  18. If ScriptEngine = "VB" Then
  19. bl = True
  20. Else
  21. bl = False
  22. End If
  23. If bl Then
  24. 'the oath taking
  25. Console.Write(c & " and," & s & vbCrLf)
  26. Console.WriteLine("declaring on the day of: {0}", da)
  27. Console.WriteLine("We will learn VB.Net seriously")
  28. Console.WriteLine("Lets see what happens to the floating point variables:")
  29. Console.WriteLine("The Single: {0}, The Double: {1}", si, d)
  30. End If
  31. Console.ReadKey()
  32. End Sub
  33. End Module

结果如下:


VB 类型转换函数

VB 提供了以下类型转换函数:

编号方法描述
1CBool(expression)将表达式转换为布尔数据类型。
2CByte(expression)将表达式转换为 Byte 数据类型。
3CChar(expression)将表达式转换为 Char 数据类型。
4CDate(expression)将表达式转换为日期数据类型
5CDbl(expression)将表达式转换为 Double 数据类型。
6CDec(expression)将表达式转换为十进制数据类型。
7CInt(expression)将表达式转换为 Integer 数据类型。
8CLng(expression)将表达式转换为 Long 数据类型。
9CObj(expression)将表达式转换为 Object 对象类型。
10CSByte(expression)将表达式转换为 SByte 数据类型。
11CShort(expression)将表达式转换为 Short 数据类型。
12CSng(expression)将表达式转换为 Single 数据类型。
13CStr(expression)将表达式转换为字符串数据类型。
14CUInt(expression)将表达式转换为 UInt 数据类型。
15CULng(expression)将表达式转换为 ULng 数据类型。
16CUShort(expression)将表达式转换为 UShort 数据类型。

实例

以下实例演示了上述一部分函数的使用:

  1. Module DataTypes
  2. Sub Main()
  3. Dim n As Integer
  4. Dim da As Date
  5. Dim bl As Boolean = True
  6. n = 1234567
  7. da = Today
  8. Console.WriteLine(bl)
  9. Console.WriteLine(CSByte(bl))
  10. Console.WriteLine(CStr(bl))
  11. Console.WriteLine(CStr(da))
  12. Console.WriteLine(CChar(CChar(CStr(n))))
  13. Console.WriteLine(CChar(CStr(da)))
  14. Console.ReadKey()
  15. End Sub
  16. End Module

结果如下:

  1. True
  2. -1
  3. True
  4. 2022/5/31
  5. 1
  6. 2