VB字符串转换函数
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
VB中涉及到的数据进制之间的转换函数主要有如下几个:
Hex 函数: 返回代表十六进制数值的String;
Oct 函数: 返回代表一数值的八进制值的V ariant (String);
Cint函数: 强制将一个表达式转换成-32,768 至32,767的整型;
CLng函数: 强制将一个表达式转换成-2,147,483,648 至2,147,483,647的长整型;
Cdec函数: 强制将一个表达式转换成Decimal 数据类型;
CDbl函数: 强制将一个表达式转换成Double 数据类型;
以上这些函数是最基本的几个数据进制之间的转换函数,其中以前三个函数最常用,也最有用.从上面几个函数我们可以看到,VB中没有为我们提供专门的函数供我们将表达式或是数据转换成十进制和二进制,不过十进制的转换我们可以通过Cint函数轻松完成,而二进制的实现我们可以通过二进制和八进制,十六进制的关系轻松转换.
下面几个例子为Hex函数和Oct函数以及Cint函数的实例:
(1). A= hex(5) 返回5;
(2). B=hex(10) 返回A
(3). C=hex(23) 返回17
(4). D=oct(5) 返回5
(5). E=oct(10) 返回12
(6). F=oct(23) 返回27
(7). G=Cint(&H17) 返回23
(8) . H=Cint(&O12) 返回10
以上这些函数的应用比较简单,就不多说了,值得一提的是Hex函数和Oct函数返回的都是字符串,如果是想将十六进制或是八进制的字符串变量转换成十进制,可以按如下方法进行:
C=”17” 17为十六进制数值的String
C=”&H” & C
Ic=Cint(C) 返回23
2. 字符串和数字转换函数
VB中的字符串函数比较多,也比较方便,就不一一介绍了.本文主要对字符串相关的转换函数做一些小结.字符串转换的函数主要有:
Str()和V al()用于字符串和数字的相互转换;
Chr()和Asc()用于字符串和AscII码的相互转换;
Chrw()和Ascw()用于Unicode码和中文的相互转换;
Format()函数用途十分广泛的一个函数,功能十分强大.
在这些函数中前两对和Format()函数是我们经常用到的,这里只给出前两对的几个简
单例子:
(1) MyString = Str(-459.65) '' 返回"-459.65"。
MyString = Str(459.001) '' 返回" 459.001"。
(2) MyV alue = V al(" 2 45 7") '' 返回2457。
MyV alue = V al("24 and 57") '' 返回24。
(3) MyChar = Chr(97) '' 返回a。
MyChar = Chr(37) '' 返回%。
(4) MyNumber = Asc("Apple") '' 返回65。
MyNumber = Asc("a") '' 返回97。
Format函数功能十分强大,大家可以察看msdn相关说明.本文重点想说一下第三对函数,这是经常被大家忽视的一对函数.在我开发手机短信时,最开始时就是用text模式开发的,后来由于发中文改成pdu模式,pdu模式有三种形式可用:7-bits,8-bits,ucs2.前两种都是表复杂的,涉及到编码函数的设计,这里就不多说了,我用的是ucs2编码,发现只要使用第三对函数就能完成pdu串的编码和解码.这对函数的使用和第二对完全相同,下面举几个例子说明(以下代码从vb的立即窗口里得到):
?ascw("中")
20013
?ascw("果")
26524
?ascw("e")
101
?chrw(101)
e
?chrw(26589)