Cstr 和Str有什么区别 2007-07-05 10:03从应试角度,综合列年改错题,两种最大的区别在于: Cstr在将正数转换为数字字符串时,不在其前加:前导空格来暗示其正号; 而Str在将正数转换为数字字符串时,返回的字符串包含一前导空格暗示有一正号。举例如下:      Dim i As Single      Dim cstr1 As String      Dim str1 As String      i = 10.3      cstr1 = CStr(i)      str1 = Str(i)      Print Len(cstr1), Len(str1) '输出:4   5      i = -10.3      cstr1 = CStr(i)      str1 = Str(i)      Print Len(cstr1), Len(str1) '输出:5   5 简单的讲:      Cstr(10.3)="10.3" Str(10.3)=" 10.3"      Cstr(-10.3)="-10.3" Str(-10.3)="-10.3" 改错中,要当心,如果采用Str将正数转换为数字字符串,那么对该字符串在进行 逐位处理时,其循环次数将多了一次。 另外: 按照MSDN介绍,通常Cstr后参数类型比较广泛,即:可以将Boolean,Date,Empty,数值转化为字符串。 而str后参数通常应该为数值。 但是根据实际测试,也不尽然。 请看下例:      Private Sub Command1_Click()          Dim t As Boolean          Print Str(t)     '输出 False(前面有空格)          Print CStr(t)    '输出False(前面没有空格)      End Sub 最后输出结果是: False False 因此,Str总会在其参数前加上一位用于存放符号位,当然如果参数为负数,其已经包含负号,那么就不加了。 如: str("-10.3")="-10.3"  
|