专业的编程技术博客社区

网站首页 > 博客文章 正文

VBA如何计算字符串的半角长度(vba计算字符串中某个字符的个数)

baijin 2024-08-13 00:53:03 博客文章 8 ℃ 0 评论



一般情况下,len函数可以计算字符串长度,但是它计算的长度是字符个数,例如:

len("toutiao")=7

len("头条")=2

但是在日常编程中经常要考虑文本框是否能显示完,也就是需要知道字符串的占位长度,这时可以参照一个全角字符占位2个半角字符来算,找出全角字符则计2,半角字符则计1,最后合计。

全角字符的判断思路:

转换字符的ascII码(asc函数)-> 转换为16进制码(hex函数)->判断位数(len函数)

这一步实现了单字符的判断,下一步需要使用for循环和Mid函数逐个取出字符串中的每个字符,实现对整个字符串的处理。

按照以上思路,我们就可以写出一个自定义函数LenA计算出字符串的半角长度值:


Public Function LenA(StringA) As Long

Dim N As Long, Temp As String

For I = 1 To Len(StringA)

Temp = Mid(StringA, I, 1)

If Len(Hex(Asc(Temp))) <= 2 Then

N = N + 1

Else

N = N + 4

End If

Next I

LenA = N

End Function


本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表