Excel中的CStr和str函数,是在VBA环境下使用的,而不能在公式框中输入直接使用。请大家注意使用的环境。下面,就给大家介绍CStr和str函数区别及使用方法。
一、理论语法
①Str 函数
返回代表一数值的字符串 Variant (String)。
Str(number)
必要的 number 参数为一 Long,其中可包含任何有效的数值表达式。
说明
当一数字转成字符串时,总会在前头保留一空位来表示正负。如果 number 为正,返回的字符串包含一前导空格暗示有一正号。
使用 Format 函数可将数值转成必要的格式,如日期、时间、货币或其他用户自定义格式。与 Str 不同的是,Format 函数不包含前导空格来放置 number 的正负号。
注意 Str 函数只视句点 (.) 为有效的小数点。如果使用不同的小数点(例如,国际性的应用程序),可使用 CStr 将数字转成字符串。
②CStr 函数
可强制将一个表达式转换成字符串,返回代表一数值的字符串 Variant (String)。
CStr(expression)
CStr String 依据 expression 参数返回一个字符串。
如果 expression 是 CStr 返回
Boolean 含有 True或 False 的字符串
Date 含有系统中短日期格式日期的字符串
Null 一个运行时错误
Empty 一个零长度字符串 ("")
Error 包含单词 Error 以及错误号的字符串
其他数值 含有数值的字符串
③CStr和str函数的区别
如果要将数字转换成为字符,那么,这两者是有区别的,因为Str把数字转换成为字符号,前面会带有数值的符号,因此,会多出一个前导的空格。比如:
Len(Str(99999)),返回的结果为6,而Len(CStr(99999))返回的结果只为5。当然,如果使用上Format 函数来设置格式,那么,情况就一样了。
二、CStr和str函数在VBA中的应用
Sub MyLen1()
Dim s As Long
Dim StrX, CstrX As Integer
s = 66
CstrX = Len(CStr(s))
StrX = Len(Str(s))
Stop
End Sub
以下几个例子,是将这两函数转换不同的数据类型的代码
Sub 正数()
Dim x, y
x = Str(123456) ' 返回 " 123456"。
y = CStr(123456) ' 返回 "123456"。
z = Format(123456)
Stop
End Sub
Sub 日期()
Dim x, y
x = Str(Date) ' 返回 "2013-2-23"。
y = CStr(Date) ' 返回 "2013-2-23"。
z = Format(Date)
Stop
End Sub
Sub 逻辑值1()
Dim x, y
x = Str(False) ' 返回 "False"。
y = CStr(False) ' 返回 "False"。
z = Format(False)
Stop
End Sub
Sub 逻辑值2()
Dim x, y, b As Boolean
x = Str(b) ' 返回 " False"。
y = CStr(b) ' 返回 "False"。
z = Format(b)
Stop
End Sub
Sub Empty1()
Dim x, y
x = Str(Empty) ' 返回 " 0"。
y = CStr(Empty) ' 返回 ""。
z = Format(Empty)
Stop
End Sub