计算机VB中转换函数Str和CStr有什么不同,不都是将数值转换为字符串吗?求教,vb刚刚入门,希
计算机VB中转换函数Str和CStr有什么不同,不都是将数值转换为字符串吗?求教,vb刚刚入门,希望能得到大神解答。...
计算机VB中转换函数Str和CStr有什么不同,不都是将数值转换为字符串吗?求教,vb刚刚入门,希望能得到大神解答。
展开
2个回答
展开全部
Cstr 和Str区别?
两种最大的区别在于:
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"
两种最大的区别在于:
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"
追问
谢谢你的详细回答*^_^*
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询