没分也不要紧的。1、你的语法有错误。应该是Len("123")和Len("abc")
2、Len(字符串)取的是字符串内的字符数。Len("Microsoft")=9
3、LenB(字符串)取的是字符占用的字节数。LenB("Microsoft")=18(每个字符占用两个字节)

解决方案 »

  1.   

    to kitegirl
    谁说语法一定有错误
    你怎么知道abc是字符串变量,还是字符串
      

  2.   

    len(123)你实际取的是整型的长度,4个字节
      

  3.   

    对。是我的意思没有说清楚。我的123我是想说LEN(变量)
      

  4.   

    原来如此啊!因为123是数字,Abc是默认类型的变量。123和abd都是“自动类型”的变量,这种变量是四个字节的。变量默认变体类型占用四字节,所以Len(abc)将得到4
    数字的默认表示方式也占用四字节,所以Len(数字)也将得到4数字123的二进制表示是 7B 00 00 00h[4字节]。NumStr=CStr(123)返回数字123的字符串表示"123"。字符串"123"的二进制表示是 49 00 50 00 51 00h[3个字,6个字节]Len("123")返回的是3,
    LenB("123")返回的是6
    实际代码:
    得到数字123的字符串表示的长度:
    VarLen=Len(CStr(123))   'VarLen变量返回数字123的字符串表示的字长。
    VarByte=LenB(CStr(123)) 'VarLen变量返回数字123的字符串表示的字节长。得到变量abc里储存的数字的字母串:
    VarLen=Len(CStr(abc))
    VarByte=LenB(CStr(abc))在不定义abc的前提下,采用默认的变体类型则以下代码也可以成立。
    abc=CStr(abc)
    VarLen=Len(abc)
    VarByte=LenB(abc)
    这一例中,由于是变体类型的变量。所以当abc=CStr(abc)后,abc所保存的就变成了字符串形式。但这是个不好的习惯,建议你不要这样做。