如题.
我一直没有注意到这个情况,前几天我偶然碰到这个问题,百思不得其解.Private Sub Command1_Click()
Print Len(Str("1234"))
End Sub不知哪位知道?

解决方案 »

  1.   

    与C++里面的情况类似
    string类型的字符串,用双引号的话,是相当于:
    "1234" = '1' & '2' & '3' & '4' & 结束符
      

  2.   

    Str 函数
    返回代表一数值的 Variant (String)。
    语法
    Str(number)
    必要的 number 参数为一 Long,其中可包含任何有效的数值表达式。
    说明
    当一数字转成字符串时,总会在前头保留一空位来表示正负。如果 number 为正,返回的字符串包含一前导空格暗示有一正号。Str 函数示例
    本示例使用 Str 函数来将一个数字转成字符串。当数字转成字符串时,字符串的第一个位一定是空格或是正负号。
    Dim MyString
    MyString = Str(459)   ' 返回 " 459"。
    MyString = Str(-459.65)   ' 返回 "-459.65"。
    MyString = Str(459.001)   ' 返回 " 459.001"。
      

  3.   

    Print Len("1234")  不用加 Str  ""里面本来就是字符串类型了
      

  4.   

    Str 函数
    返回代表一数值的 Variant (String)。
    语法:Str(number)
    参数number 数据类型为Long,其中可包含任何有效的数值表达式。
    当一数字转成字符串时,总会在前头保留一空位来表示正负。如果 number 为正,返回的字符串包含一前导空格暗示有一正号。正确的写法:Len(LTrim(str(1234)))
    当然,您非要写 Len(LTrim(str("1234"))) 也行,其实这样写,VB线作了个隐式转换
    把"1234"转换成1234,然后再执行str函数的
      

  5.   

    我刚刚又试了一下不使用双引号也是得5.
    Print Len(Str(1234))
      

  6.   

    我分析了一下
    Print Len(Str("-1.3"))的结果是4
    而Print Len(Str("1.3"))的结果也是4
    所以2楼所说的结尾符号位的问题不对,
    支持3楼。
    Print Len("1.3")  结果3
    Print Len(Str("-1.3")) 结果4
    Print Len(Str(-1.3))  结果 4
    第一行中"1.3"本身不是数字,所以长度3