當前位置:名人名言大全網 - 傷感說說 - VB比較常用的變量

VB比較常用的變量

vb中,以下變量類型

1,數字型變量(numeric)

2,字符串型變量(string)

3,日期型變量(date)

4,對象型變量(object)

5,變體型變量(variant)

這幾個vb變量類型中,最最主要的就是前面兩個,數字型變量和字符串型變量.意思很簡單,數字型可以用來存放數字,字符串型存放文本.

下面就來詳細介紹這幾種變量.

1.數字型

數字型變量有多種類型,在咱們的vb裏,有3中數字數據類型

1;整形

2;浮點型

3;貨幣型

其中,整形數據還可以分為整形(integer)和長整形(long).浮點型還可以分為單精度型(single)和雙精度型(double)

數字型變量分這麽詳細,其實是為了提高程序的運行效率.如果在程序中大量使用雙精度型,會直接影響到程序的運行速度,但它的精度提高了.前面咱們知道了變量的聲明方式,這樣我們就可以聲明不同類型的變量了!

dim z_ge as integer

dim z_D as long

.....

等等等等,都是這樣的聲明方式但要註意的是,dim語句可以在壹條語句中聲明多個變量,但必須註意變量聲明的格式!否則將的不到正確結果!

例如

dim z_ge, z_zf as integer

這本意是將兩個變量聲明為壹種格式,但這是錯誤的!

我們可以用typename()函數,驗證上面的變量類型

聲明完變量後,我們這樣檢查

debug.print "z_ge is " & typename(z_ge)

運行後,在那個"立即"窗口中,可以看到結果

z_ge is empty

只有最後的那個變量,被聲明為integer,妳可以多聲明幾個,多測試幾次就知道了!

正確的聲明方法是

dim z_ge as integer, z_zf as integer

不同的數字型,所表示的範圍是不同的,Integer 存放-32,768 到 32,767

Long 存放-2,147,483,648 到 2,147,483,647

Single 存放 負數:-3.402823E38 到 -1.401298E-45;正數:1.401298E-45 到 3.402823E38

Double 存放 負數: -1.79769313486232E308 到 - 4.94065645841247E-324;

正數:4.94065645841247E-324 到 1.79769313486232E308 之間的數

Currency 存放 從 -922,337,203,685,477.5808到 922,337,203,685,477.5807

是不是很high呀!

就運算速度來說integer是最快的!不過也要根據實際情況而決定!如果變量要包括小數部分,那樣可以聲明為single ,double, currency這幾種類型.single和double主要差別不是它們的數值範圍,而在於表示數值的精度.例如,用single來表示1除以3,結果是0.3333333如果我們采用double,則它的結果為 0 .333333333333333 我們在實際運用中,這可以靈活運用!

currency可以存放定點數,它支持小數前面15位和後面4位.

這裏需要我們註意的是,不數字類型在機器內部表示不同的格式.所有的數值都要在在壹定位數進行結尾.比如我們剛才運行的1除以3 結果是0.3333333……無窮多個3.而在機器中,即使把所有的內存用光,也是要截尾的.

我們看看下面的程序

Private Sub Form_Load()

Dim a As Single

a = 1 / 3

Debug.Print a

End Sub

運行後,在"立即"框中,看到的結果是0. 3333333

如果我們再讓它乘上10000000

它的結果就成了3333334

顯然,它的結果不是我們期待的那樣.也許我們對這些誤差不是特別在意,但我們必須牢記:這種誤差在以後的計算中是很有可能被逐步放大的!咱們已經初步理解vb中數字型變量了,下面再說說數字型變量的精度同樣,每壹種數據類型都有它自己的精度,整數型數據精度不用我們太多的關註他.精度的概念再浮點數上體現的比較多!浮點數種整數部分越小,那它可以放置小數位數就越多,這是因為存放再數據的內存字節數都是壹定的.

例如,我們用雙精度double數據類型表示,則2除以3的結果為 0.666666666666667而200000除以3的結果用double類型表示則為66666.6666666667

因為vb只能用8個字節來存放這個數字,較大數字的有些字節要分配給整數部分,小數部分的字節數就越少.

如果我們需要盡可能高的精度的時候,有些控制精度的技巧是需要學習的.

1.調整數字的偏差量.如,我們在計算10000000~10000001之間的數的時候,我們可以先減去10000000讓數字縮小到0~1之間,然後到運算結束後,再將結果加上10000000

2.盡量減少不必要的計算.在所做的各種運算裏,如果涉及到很復雜的運算攻勢,我們有必要對公式進行化簡.來避免不必要的運算步驟(這也叫偷懶).例如,在計算c=a*b/a+a的時候,我們完全可以將公式寫成c=b+a這樣做就減少了不必要的誤差.精度理解之後,下面學習壹下byte數據類型

上面我們可以看出,數字型數據存放的最小占用內存是2個字節,並沒有哪壹種數字型數據是存放在單個字節種的.不過,在壹些場合,假如要方位2進制文件的時候,需要對數據各個字節都進行訪問,這時,byte類型就派上用場了...

byte數據類型可以表示0~255之間的整數.和其他的數字型數據聲明的格式都是壹樣的.

dim a as byte

byte數據類型也可以用來做數字計算,但計算的數字,和結果必須控制在255這個數字以內.否則將會出現溢出錯誤(這是程序員最忌諱的)

例如以下代碼

dim a as byte

dim b as byte

a=230

b=50

b=b+a

debug.print b

其結果是280,但這時就會出現溢出錯誤,因為280無發放置在1個字節中.不過,值得註意的是如果我們使用,msgbox a+b卻可以顯示正常的結果!

呵呵,vb有意思吧..