字符串和其他类型之间的转换 (Visual Basic)
可以将数字、Boolean
或日期/时间值转换为 String
。 还可以反向进行转换(从字符串值转换为数字、Boolean
或Date
,前提是字符串的内容可以解释为目标数据类型的有效值。 如果无法运行,则会发生运行时错误。
所有这些分配的转换均为任意方向,均为收缩转换。 应使用类型转换关键字(CBool
、CByte
、CDate
、CDbl
、CDec
、CInt
、CLng
、CSByte
、CShort
、CSng
、CStr
、CUInt
、CULng
、CUShort
和 CType
)。 Format 和 Val 函数使你可以对字符串和数字之间的转换进行额外的控制。
如果已定义类或结构,则可以在 String
与类或结构的类型之间定义类型转换运算符。 有关更多信息,请参见 How to: Define a Conversion Operator。
数字到字符串的转换
可以使用 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"
在英语(美国)区域设置中是可以接受的,但在任何法语区域设置中都是不可接受的。