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

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

  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)

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值