51Testing软件测试论坛

标题: 求字符串长度的问题 [打印本页]

作者: yueyang    时间: 2007-9-14 15:43
标题: 求字符串长度的问题
有没有这样的函数,直接可以得到字符串的长度,其中汉字长度为2,西文和数字为1.
作者: fate    时间: 2007-9-14 15:45
len()应该可以。。。
作者: lengz    时间: 2007-9-14 15:54
len()不行的,它把汉字算作一个字符长度
作者: lengz    时间: 2007-9-14 16:05
我想到一个办法,但是有点麻烦,因为汉字的ASC码<1
aa="aa你好"
num=0
max=Len(aa)

For i=1 To max
  If Asc(Mid(aa,i,1))>1Then
          num=num+1         
  Else
          num=num+2
  End If
Next

MsgBox num
作者: hsjzfling    时间: 2007-9-14 16:10
貌似没有这样的函数。。。写了个函数,应该对你有帮助~
Function GetLen(Str)
        Dim singleStr, i, iCount
        iCount = 0
        For i = 1 to len(Str)
                singleStr = mid(Str,i,1)
                If asc(singleStr) < 0 Then
                        iCount = iCount + 2
                Else
                        iCount = iCount + 1
                End If   
        Next
        GetLen = iCount
End Function
作者: yueyang    时间: 2007-9-14 16:31
我明白了
多谢谢
作者: walker1020    时间: 2007-9-15 01:01
还应了毛主席的那句话:“自己动手,丰衣足食”。呵呵!

[ 本帖最后由 walker1020 于 2007-9-15 01:04 编辑 ]
作者: zhangj8826    时间: 2007-9-17 15:27
sdlkfj3
作者: yuandjing    时间: 2007-9-18 08:49
恩,hsjzfling 兄的代码实现了楼主的功能
我也摘录一下喽




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2