51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

查看: 2121|回复: 8
打印 上一主题 下一主题

[原创] 求字符串长度的问题

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2007-9-14 15:43:19 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
有没有这样的函数,直接可以得到字符串的长度,其中汉字长度为2,西文和数字为1.
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2007-9-14 15:45:47 | 只看该作者
len()应该可以。。。
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2007-9-14 15:54:44 | 只看该作者
len()不行的,它把汉字算作一个字符长度
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2007-9-14 16:05:33 | 只看该作者
我想到一个办法,但是有点麻烦,因为汉字的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
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2007-9-14 16:10:55 | 只看该作者
貌似没有这样的函数。。。写了个函数,应该对你有帮助~
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
回复 支持 反对

使用道具 举报

该用户从未签到

6#
 楼主| 发表于 2007-9-14 16:31:46 | 只看该作者
我明白了
多谢谢
回复 支持 反对

使用道具 举报

  • TA的每日心情
    开心
    2016-2-27 08:48
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]测试小兵

    7#
    发表于 2007-9-15 01:01:28 | 只看该作者
    还应了毛主席的那句话:“自己动手,丰衣足食”。呵呵!

    [ 本帖最后由 walker1020 于 2007-9-15 01:04 编辑 ]
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    8#
    发表于 2007-9-17 15:27:22 | 只看该作者
    sdlkfj3
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    9#
    发表于 2007-9-18 08:49:03 | 只看该作者
    恩,hsjzfling 兄的代码实现了楼主的功能
    我也摘录一下喽
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-5-27 02:29 , Processed in 0.074146 second(s), 27 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表