赛迪网 > IT技术 编程语言 > 文章
  IT资讯搜索
 
IT产品搜索
[程序开发][网管世界][网络安全][数据库技术]
[操作系统][嘉宾聊天·在线访谈][活动集锦]
[精彩专题][Symantec专区][订阅IT技术周刊]
[开发论坛][网管论坛][安全论坛][数据库论坛]
[操作系统论坛][Sybase专区][IBM dW技术专区]
[病毒求助][病毒与漏洞播报][文档·源码下载]

VB中各种数据类型转换函数

发布时间:2006.08.16 02:53     来源:plwww    作者:

       在VB中,提供了很多数据类型转换的函数,特别是各种进制数据的转换以及字符串和数字的转换函数,本文将对这些函数做一个简单的小结.

1. 各种进制转换函数
      一般的数据进制包括十进制,二进制,十六进制.十进制就是我们日常生活用到的数据进制,因此也是我们最熟悉和清楚的;二进制是计算机的基础进制,主要是因为便于用物理器件实现二进制;八进制和十六进制因为和二进制的天然的亲密关系,并且表示比二进制更方便,因而也成为计算机的常用表示方法.
    

       VB中涉及到的数据进制之间的转换函数主要有如下几个:
 Hex 函数: 返回代表十六进制数值的 String;
 Oct 函数: 返回代表一数值的八进制值的Variant (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()和Val()用于字符串和数字的相互转换;
    Chr()和Asc()用于字符串和AscII码的相互转换;
    Chrw()和Ascw()用于Unicode码和中文的相互转换;
     Format()函数用途十分广泛的一个函数,功能十分强大.
 

       在这些函数中前两对和Format()函数是我们经常用到的,这里只给出前两对的几个简单例子:
 (1) MyString = Str(-459.65)   ' 返回 "-459.65"。
   MyString = Str(459.001)   ' 返回 " 459.001"。
(2) MyValue = Val(" 2 45 7")   ' 返回 2457。
   MyValue = Val("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)

在chrw()和ascw()函数中,对于ASCII仍然和chr()与asc()相同对待.以上只是我对这些函数使用时的一点小结,期望能起到抛砖引玉的作用.

 


[ 发表评论 ] 字体[  ] [ 打印 ] [ 进入博客 ] [ 进入论坛 ]  [ 推荐给朋友 ]
  相关文章
· VB中各种数据类型转换函数 (03-13) · 深夜随想 (11-08)
· 深夜随想 (03-13) · VB程序中处理随机事件 (09-11)
· VB程序中处理随机事件 (10-13) · VB中文件操作的两种方式 (03-08)
· VB中文件操作的两种方式 (12-21) · 基于ADO+Adodc控件+DataGrid控件制作的一个数 (03-14)
· 基于ADO+Adodc控件+DataGrid控件制作的一个数 (03-28) · VB的API编程精粹(一) (11-09)
  客户需求反馈表
* 姓  名:
更多资料  了解方案  认识厂商
* 单位名称:
* 联系电话:
* 电子邮件:
  赛迪推荐  
  手机·资费 ·新品·导购·评测·手机资费·宽带
手机搜索  诺基亚 N73 MOTO Z6
  IT产品 ·笔记本·台式机·服务器·打印·投影
IT产品搜索 
  IT技术 ·开发·网管·安全·数据库·操作系统
  信息化 ·热点·专题·访谈·周刊·方案案例
[政务][电信][金融][农业][制造业][中小企业]
[CIO][ERP][协同][IT管理][中间件][电子商务]
[政策][地方][专家][评估][辞典][博客][社区]
· 专题:一路畅通构想曲——让出行不再遭遇堵车
· CIO工作亲历:企业ERP选型不能忽视"选人关"
· 综述:信息化建设给中国监狱带来的各种变化
· 金融业风险管理和法规遵从有五点需考虑的因素
· 保险业CIO关注:该如何建立统一高效的CRM体系
· 调查显示:多数CIO对IT规划仍存在困惑和误解
  博客·论坛 ·曾剑秋·项立刚·Java学习·网管