全角与半角的字符问题
上图是课件截图,用代码试了试: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Sub ss1() Dim str1 As String Dim str2 As String Dim m As Integer Dim n As Integer Dim x As Boolean Dim y As Boolean str1 = "1" str2 = "1" x = str1 = StrConv(str1, 4) y = str2 = StrConv(str2, 8) Stop m = Len(str1) n = Len(str2) Stop End Sub ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 问题: - 第1次stop,由于str1初始为单字节,经过StrConv(str1, 4),即转为单字节后,仍为单字节,所以x应该为true,而事实却是false;y同理,为什么呢?
- 第2次stop,根据LEN函数的帮助:返回 Long,其中包含字符串内字符的数目,或是存储一变量所需的字节数。即这时,str1还是单字节字符,经过len()后,应该得1;str2得2。可为什么,结果是都是得1呢?
谢谢!
StrConv(str1, 4)是将str1单字节字符串转换为双字节字符串; StrConv(str2, 8)是将str1双字节字符串转换为单字节字符串; 此处要用LenB函数。
|