详细了解:转换变量类型
更新:2007 年 11 月
正如前面的课程所述,变量具有多种类型。变量的类型决定了变量可以保存的数据类型。Integer 变量仅能保存没有小数点的数值数据。String 变量仅能保存文本。
如果希望在一个需要 String 的 TextBox 控件中显示 Integer 会出现什么情况呢? 答案是必须转换数据类型。在本主题中,您将了解如何将数据从一种类型转换为另一种类型,并了解数据转换中使用的一些技术和常见缺陷。
将变量转换为文本
使用名为 CStr(Convert to String 的简写形式,表示转换为字符串)的特殊函数可以将 Visual Basic 中的每个变量转换为文本。顾名思义,此函数返回的数据由类似 String 的变量表示。下面的步骤演示了一个将 Integer 转换为文本的简单示例。
试一试!
将变量转换为文本
在“文件”菜单上,单击“新建项目”。
在“新建项目”对话框的“模板”窗格中,单击“Windows 应用程序”。
在“名称”框中键入 Conversion,再单击“确定”。
一个新的 Windows 窗体项目随即打开。
双击该窗体以打开代码编辑器。
在 Form1_Load 事件处理程序中,键入以下代码。
Dim anInteger As Integer = 54 MsgBox(CStr(anInteger))
此代码声明一个名为 anInteger 的 Integer 变量,将值 54 赋给它,再通过调用 CStr 函数将此值转换为文本,并将其显示在一个消息框中。
按 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 函数。
试一试!
转换数值数据类型
在代码编辑器中,删除在上一步骤中输入的代码,并键入以下代码:
Dim A As Integer = 1 Dim B As Integer = 2 MsgBox(CDbl(A / B))
该代码声明两个 Integer 变量(A 和 B),将值 1 和 2 赋给它们,然后使用 CDbl 函数转换除法运算 (A / B) 的结果并将结果显示在一个消息框中。
按 F5 生成并运行应用程序。会显示一个内容为 0.5 的消息框。
Visual Basic 还具有用于其他类型的数值变量的函数。例如,如果添加了两个 Double 类型的变量,并希望将结果四舍五入为最近似的整数,请使用 CInt 函数。其他数值转换函数包括 CByte、CDec、CLng 和 CShort。有关所有 Visual Basic 转换函数的列表,请参见类型转换函数。
后续步骤
在本课中,您学习了如何将数值变量转换为文本,以及如何在不同类型的数值变量之间进行转换。在下一课 比较:使用表达式比较值 中,您将学习如何计算表达式。
请参见
任务
概念
参考
Date Format 常量(针对 Visual Basic 6.0 用户)