详细了解:转换变量类型

更新:2007 年 11 月

正如前面的课程所述,变量具有多种类型。变量的类型决定了变量可以保存的数据类型。Integer 变量仅能保存没有小数点的数值数据。String 变量仅能保存文本。

如果希望在一个需要 String 的 TextBox 控件中显示 Integer 会出现什么情况呢? 答案是必须转换数据类型。在本主题中,您将了解如何将数据从一种类型转换为另一种类型,并了解数据转换中使用的一些技术和常见缺陷。

将变量转换为文本

使用名为 CStr(Convert to String 的简写形式,表示转换为字符串)的特殊函数可以将 Visual Basic 中的每个变量转换为文本。顾名思义,此函数返回的数据由类似 String 的变量表示。下面的步骤演示了一个将 Integer 转换为文本的简单示例。

试一试!

将变量转换为文本

  1. 在“文件”菜单上,单击“新建项目”。

  2. 在“新建项目”对话框的“模板”窗格中,单击“Windows 应用程序”。

  3. 在“名称”框中键入 Conversion,再单击“确定”。

    一个新的 Windows 窗体项目随即打开。

  4. 双击该窗体以打开代码编辑器。

  5. 在 Form1_Load 事件处理程序中,键入以下代码。

    Dim anInteger As Integer = 54
    MsgBox(CStr(anInteger))
    

    此代码声明一个名为 anInteger 的 Integer 变量,将值 54 赋给它,再通过调用 CStr 函数将此值转换为文本,并将其显示在一个消息框中。

  6. 按 F5 生成并运行应用程序。会显示一个内容为 54 的消息框。

    让我们做个有趣的试验。在代码编辑器中,将 MsgBox(CStr(anInteger)) 这行代码更改为 MsgBox(anInteger),然后按 F5 运行。发生了什么? 程序的行为与之前完全相同。Visual Basic 真是非常聪明,它知道您真正需要的是将 Integer 转换为文本并显示在消息框中。但是,不能永远都依赖这种行为 — 有许多变量类型是不能自动转换的。因此,始终使用 CStr 函数是一个好做法,即使在变量可以自动转换为文本的情况下也是如此。

除了将 Integer 变量转换为文本外,CStr 函数还可以应用于任何数值数据类型,如 Double 或 Long。它还可以用来将 Date 和 Boolean 数据类型转换为文本。有关数据类型的更多信息,请参见 详细了解:数据类型

在数值数据类型之间转换

正如您在算术课中学到的,有时算术运算的结果不能表示为 Integer。Visual Basic 不仅有将数字转换为文本的函数,还有将变量由一种数值数据类型转换为另一种数值数据类型的函数。例如,在处理 Integer 变量时,可以在算术运算中使用 CDbl(转换 (Convert) 为 Double)函数返回一个小数。下面的步骤演示了如何在两个整数相除时使用 CDbl 函数。

试一试!

转换数值数据类型

  1. 在代码编辑器中,删除在上一步骤中输入的代码,并键入以下代码:

    Dim A As Integer = 1
    Dim B As Integer = 2
    MsgBox(CDbl(A / B))
    

    该代码声明两个 Integer 变量(A 和 B),将值 1 和 2 赋给它们,然后使用 CDbl 函数转换除法运算 (A / B) 的结果并将结果显示在一个消息框中。

  2. 按 F5 生成并运行应用程序。会显示一个内容为 0.5 的消息框。

Visual Basic 还具有用于其他类型的数值变量的函数。例如,如果添加了两个 Double 类型的变量,并希望将结果四舍五入为最近似的整数,请使用 CInt 函数。其他数值转换函数包括 CByte、CDec、CLng 和 CShort。有关所有 Visual Basic 转换函数的列表,请参见类型转换函数

后续步骤

在本课中,您学习了如何将数值变量转换为文本,以及如何在不同类型的数值变量之间进行转换。在下一课 比较:使用表达式比较值 中,您将学习如何计算表达式。

请参见

任务

算法:创建包含变量和运算符的表达式

概念

详细了解:数据类型

参考

Date Format 常量(针对 Visual Basic 6.0 用户)

其他资源

Visual Basic 中的类型转换