一般情况下,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
本文暂时没有评论,来添加一个吧(●'◡'●)