可以将数字或 Boolean
日期/时间值转换为 String
。 还可以反向进行转换(从字符串值转换为数字、Boolean
或Date
,前提是字符串的内容可以解释为目标数据类型的有效值。 如果无法,则会发生运行时错误。
所有这些分配的转换均为任意方向,均为收缩转换。 应使用类型转换关键字(CBool
、CByte
、CDate
、CDbl
、CDec
、CInt
、CLng
、CSByte
、CShort
、CSng
、CStr
、CUInt
、CULng
、CUShort
和CType
)。 和FormatVal函数可让你更好地控制字符串和数字之间的转换。
如果您已定义类或结构,您可以在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"
在英语(美国)地区是可接受的,但在任何法语地区都不可接受。