字符串和其他类型之间的转换

更新:2007 年 11 月

可以将数字、Boolean 或日期/时间值转换为 String。如果字符串的内容可以被解释为目标数据类型的有效值,则也可以反向转换,即从字符串值转换为数字、Boolean 或 Date。如果无法转换,则出现运行时错误。

所有这些赋值在两个方向上的转换都是双字节到单字节转换。应该使用类型转换关键字(CBool、CByte、CDate、CDbl、CDec、CInt、CLng、CSByte、CShort、CSng、CStr、CUInt、CULng、CUShort 和 CType)。Format 函数Val 函数 提供了对字符串和数字间转换的额外控制。

如果您定义了类或结构,可以定义 String 与您的类或结构的类型之间的类型转换运算符。有关更多信息,请参见 如何:定义转换运算符

数字到字符串的转换

可以使用 Format 函数将数字转换为格式化字符串。格式化字符串不仅可以包含相应的数字,也可以包含格式化符号,如货币符号(如 $)、千位分隔符或“数字分组符号”(如 ,)和小数点分隔符(如 .)。Format 根据 Windows“控制面板”中指定的“区域选项”设置自动使用相应的符号。

请注意,串联 (&) 运算符可以将数字隐式转换为字符串,如下例所示:

' The following statement converts count to a String value.
Str = "The total count is " & count

字符串到数字的转换

可以使用 Val 函数将字符串中的数字显式转换为一个数字。Val 读取字符串,直到遇到数字、空格、制表符、换行符或句号以外的字符。“&O”和“&H”序列改变数字系统的基并终止扫描。在停止读取之前,Val 将所有合适的字符转换为数值。例如,下列语句返回值 141.825。

Val(" 14 1.825 miles")

Visual Basic 将字符串转换为数值时,它使用 Windows“控制面板”中指定的“区域选项”设置来解释千位分隔符、小数分隔符和货币符号。这意味着在一种设置下可能成功的转换在另一种设置下不一定成功。例如,"$14.20" 在英语(美国)区域设置中是可接受的,而在法语区域设置中则不接受。

请参见

任务

如何:在 Visual Basic 中将一个对象转换为其他类型

概念

扩大转换和收缩转换

隐式转换和显式转换

转换过程中的值更改

数组转换

介绍基于 .NET Framework 的国际应用程序

参考

数据类型摘要 (Visual Basic)

类型转换函数

其他资源

Visual Basic 中的类型转换