VB中各種數(shù)據(jù)分類轉換函數(shù)
發(fā)表時間:2023-08-21 來源:明輝站整理相關軟件相關文章人氣:
[摘要]在VB中,提供了很多數(shù)據(jù)類型轉換的函數(shù),特別是各種進制數(shù)據(jù)的轉換以及字符串和數(shù)字的轉換函數(shù),本文將對這些函數(shù)做一個簡單的小結.1. 各種進制轉換函數(shù) 一般的數(shù)據(jù)進制包括十進制,二進制,十六...
在VB中,提供了很多數(shù)據(jù)類型轉換的函數(shù),特別是各種進制數(shù)據(jù)的轉換以及字符串和數(shù)字的轉換函數(shù),本文將對這些函數(shù)做一個簡單的小結.
1. 各種進制轉換函數(shù)
一般的數(shù)據(jù)進制包括十進制,二進制,十六進制.十進制就是我們日常生活用到的數(shù)據(jù)進制,因此也是我們最熟悉和清楚的;二進制是計算機的基礎進制,主要是因為便于用物理器件實現(xiàn)二進制;八進制和十六進制因為和二進制的天然的親密關系,并且表示比二進制更方便,因而也成為計算機的常用表示方法.
VB中涉及到的數(shù)據(jù)進制之間的轉換函數(shù)主要有如下幾個:
Hex 函數(shù): 返回代表十六進制數(shù)值的 String;
Oct 函數(shù): 返回代表一數(shù)值的八進制值的Variant (String);
Cint函數(shù): 強制將一個表達式轉換成-32,768 至 32,767的整型;
CLng函數(shù): 強制將一個表達式轉換成-2,147,483,648 至 2,147,483,647的長整型;
Cdec函數(shù): 強制將一個表達式轉換成Decimal 數(shù)據(jù)類型;
CDbl函數(shù): 強制將一個表達式轉換成Double 數(shù)據(jù)類型;
以上這些函數(shù)是最基本的幾個數(shù)據(jù)進制之間的轉換函數(shù),其中以前三個函數(shù)最常用,也最有用.從上面幾個函數(shù)我們可以看到,VB中沒有為我們提供專門的函數(shù)供我們將表達式或是數(shù)據(jù)轉換成十進制和二進制,不過十進制的轉換我們可以通過Cint函數(shù)輕松完成,而二進制的實現(xiàn)我們可以通過二進制和八進制,十六進制的關系輕松轉換.
下面幾個例子為Hex函數(shù)和Oct函數(shù)以及Cint函數(shù)的實例:
(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
以上這些函數(shù)的應用比較簡單,就不多說了,值得一提的是Hex函數(shù)和Oct函數(shù)返回的都是字符串,如果是想將十六進制或是八進制的字符串變量轉換成十進制,可以按如下方法進行:
C=”17” 17為十六進制數(shù)值的String
C=”&H” & C
Ic=Cint(C) 返回23
2. 字符串和數(shù)字轉換函數(shù)
VB中的字符串函數(shù)比較多,也比較方便,就不一一介紹了.本文主要對字符串相關的
轉換函數(shù)做一些小結.字符串轉換的函數(shù)主要有:
Str()和Val()用于字符串和數(shù)字的相互轉換;
Chr()和Asc()用于字符串和AscII碼的相互轉換;
Chrw()和Ascw()用于Unicode碼和中文的相互轉換;
Format()函數(shù)用途十分廣泛的一個函數(shù),功能十分強大.
在這些函數(shù)中前兩對和Format()函數(shù)是我們經常用到的,這里只給出前兩對的幾個簡單例子:
(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函數(shù)功能十分強大,大家可以察看msdn相關說明.本文重點想說一下第三對函數(shù),這是經常被大家忽視的一對函數(shù).在我開發(fā)手機短信時,最開始時就是用text模式開發(fā)的,后來由于發(fā)中文改成pdu模式,pdu模式有三種形式可用:7-bits,8-bits,ucs2.前兩種都是表復雜的,涉及到編碼函數(shù)的設計,這里就不多說了,我用的是ucs2編碼,發(fā)現(xiàn)只要使用第三對函數(shù)就能完成pdu串的編碼和解碼.這對函數(shù)的使用和第二對完全相同,下面舉幾個例子說明(以下代碼從vb的立即窗口里得到):
?ascw("中")
20013
?ascw("果")
26524
?ascw("e")
101
?chrw(101)
e
?chrw(26589)
柝
在chrw()和ascw()函數(shù)中,對于ASCII仍然和chr()與asc()相同對待.