字符串和其他类型之间的转换
更新: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 中将一个对象转换为其他类型