您的位置:首页 > 编程语言 > VB

vb len("中文")的位数计算的解决方法

2008-04-22 14:01 302 查看
PS:对于pan05、black205两位提出的部份中文还是计算为1位的问题,已修改,感谢两位。

通常VB中的len("中文"),返回的是2,因为vb计算的是Unicode的字符个数,所以每个汉字(日文、韩文)算作一个字符,但是如果我们不想计算Unicode的个数,而是要将汉字当作2位时,怎么办?

可以用如下的函数实现:

Private Function LenC(s As String) As Integer
Dim n As Integer
LenC = 0
For n = 1 To Len(s)
If (AscW(Mid(s, n, 1)) > 256) Or (AscW(Mid(s, n, 1)) < 0) Then
LenC = LenC + 2
Else
LenC = LenC + 1
End If
Next n
End Function

Private Sub Command1_Click()
Print LenC("AAA-中文自选")
End Sub
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐