在VB中怎樣區分和使用integer long single double string等

2021-03-27 20:29:34 字數 5440 閱讀 9883

1樓:匿名使用者

數值型別分為整數型和實數型兩大類。

1、整數型

整數型是指不帶小數點和指數符號的數。

按表示範圍整數型分為:整型、長整型

(1)整型(integer,型別符%)

整型數在記憶體中佔兩個位元組(16位)

十進位制整型數的取值範圍:-32768 ~ +32767

例如:15,-345,654%都是整數型。而45678%則會發生溢位錯誤。

(2)長整型(long,型別符&)

長整數型在記憶體中佔4個位元組(32位)。

十進位製長整型數的取值範圍:

-2147483648 ~ +2147483647

例如:123456,45678&都是長整數型。

2、實數型(浮點數或實型數)

實數型資料是指帶有小數部分的數。

注意:數12和數12.0對計算機來說是不同的,前者是整數(佔2個位元組),後者是浮點數(佔4個位元組)

實數型資料分為浮點數和定點數。

浮點數由三部分組成:符號,指數和尾數。

在vb中浮點數分為兩種:

單精度浮點數( single )

雙精度浮點數( double )

(1)單精度數(single,型別符!)

在記憶體中佔4個位元組(32位),,有效數字:7位十進位製數

取值範圍:負數 -3.402823e+38 ~ -1.401298e-45

正數 1.401298e-45 ~ 3.402823e+38

在電腦程式裡面不能有上標下標的寫法,所以乘冪採用的是一種稱為科學計數法的表達方法

這裡用e或者e表示10的次方(e/e大小寫都可以)

比如:1.401298e-45表示1.401298的10的負45次方

vb裡面可以這樣表示:8.96e-5

例:21e5(正號省略)表示:

21乘以10的5次方的乙個單精度數

(2) 雙精度數(double,型別符#)

double型別資料在記憶體中佔用8個位元組(64位)

double型可以精確到15或16位十進位製數,即15或16位有效數字。

取值範圍:

負數: –1.797693134862316d+308 ~ -4.94065d-324

正數: 4.94065d-324 ~ 1.797693134862316d+308

比如17.88d5,表示它是乙個雙精度數,表示17.88乘以10的5次方

這裡用d來表示10的次方

二、 貨幣型(currency,型別符@)

主要用來表示貨幣值,在記憶體中佔8個位元組(64位);

整數部分為15位,可以精確到小數點後4位,第五位四捨五入;屬於定點實數

貨幣型資料的取值範圍:

-922337203685447. 5808 ~ 922337203685447. 5807

跟浮點數的區別:小數點後的位數是固定的,4位

例如:3.56@ 、 65.123456@都是貨幣型。

三、 位元組型(byte,無型別符)

一般用於儲存二進位製數。

位元組型資料在記憶體中佔1個位元組(8位)。

位元組型資料的取值範圍:0 ~ 255

四、 日期型(date)

在記憶體中佔用8個位元組,以浮點數形式儲存。

日期型資料的日期表示範圍為:

100年1月1日~2023年12月31日

日期型資料的時間表示範圍為:

00:00:00 ~ 23:59:59

用#括起來放置日期和時間,允許用各種表示日期和時間的格式。

日期可以用「/」、「,」、「-」分隔開,可以是年、月、日,也可以是月、日、年的順序。時間必須用「:」分隔,順序是:時、分、秒。

例: #09/10/2000# 或 #2000-09-12#

#08:30:00 am#

#09/10/2000 08:30:00 am#

例: dim mylab as date mylab = #9/3/2001 11:35:00 am#

time = mylab

在vb中會自動轉換成mm/dd/yy(月/日/年)的形式。

五、 邏輯型(boolean)

邏輯型資料在記憶體中佔2個位元組。

邏輯型資料只有兩個可能的值:

true(真) false(假)

若將邏輯型資料轉換成數值型,則:

true(真)為 –1 false(假)為 0

當數值型資料轉換為boolean型資料時:

非0的資料轉換為true,0為fasle。

六、字串( string ,型別符$)

字串是乙個字串行,必須用雙引號括起來

說明:雙引號為分界符,輸入和輸出時並不顯示。

字串中包含字元的個數稱為字串長度。

長度為零的字串稱為空字串,比如「」,引號裡面沒有任何內容

字串中包含的字元區分大小寫。

字串可分為變長字串和定長字串兩種。

(1).變長字串(長度為字串長度)

例:dim a as string

a="123" a="456789「

(2).定長字串(長度為規定長度)

對於定長字串,當字元長度低於規定長度,即用空格填滿,當字元長度多於規定長度,則截去多餘的字元。

例:dim a as string * 10

七、物件資料型別(object )

物件型資料在記憶體中佔用4個位元組。用以引用應用程式中的物件。

八、變體資料型別(variant )

變體資料型別是一種特殊資料型別,具有很大的靈活性,可以表示多種資料型別,其最終的型別由賦予它的值來確定。

九、使用者自定義型別

如果我想同時記錄乙個學生的學號、姓名、性別、總分,那麼我可以用自定義型別。

使用者自定義型別特點:這種型別的資料由若干個不同型別的基本資料組成。

自定義型別由type語句來實現:

格式:type 自定義型別名

元素名1 as 型別名

元素名2 as 型別名

…… 元素名n as 型別名

end type

type是語句定義符,告訴vb現在要定義乙個資料型別,是vb的關鍵字;其後的自定義型別名是要定義的該

資料型別的名稱,由使用者確定;end type表示型別定義結束;自定義型別名是組成該資料型別的變數的名稱

例: type student

num as long 『學號

name as string*10 『姓名,用長度為10的定長字串來儲存

*** as string*5 『性別,用長度為5的定長字串來儲存

score as single 『得分,用單精度數來儲存

end type

一般在標準模組裡面定義,如果只想在窗體裡面定義,則前面必須加上private,表示該型別只對本窗體有

效,其他窗體無法定義該型別的變數。

定義了student型別之後,我們就可以定義student型別的變數了,比如: dim stu as student

2樓:拱新蘭孟未

區分在於型別的定義,使用則帶有主管和客觀很多成分

integer是有符號短整型,2個位元組,能表示範圍自然是-32768到32767

long是長整型。4個位元組,能表示大約-20億到20億

以上都是表示整數

single是單精度浮點型(就是帶有小數點),4個位元組

double是雙精度浮點型,8個位元組,這兩種儲存方式比較複雜一點

string是字串,其實不是真正意義的基本資料型別,它是由一定數量的位元組(字元或雙字元)組成的一維陣列,要理解什麼是字串,就要知道字元編碼

至於使用,要根據演算法而定,演算法其實就是實現方法。而演算法取決於實際功能要求,比如你要統計會員數,如果用integer你就只能有32767個會員,再多你的系統就崩潰了。

此外有些vb約定的內建函式(包括api)使用的引數是特定的,那麼你只能使用這種型別,

當然,用byval傳值vb會自動轉換資料型別,比如

private

sub***mand1_click(index

asinteger)

'控制項陣列的索引必須是integer

list1.list(1)

="abc"

'listbox的專案索引必須是integer

text1.text

=space(10)

'space引數是long

ifgetdesktopwindow()

<>me.hwnd

then

'視窗控制代碼是long

我知道你有很多疑問,你可以直接追問,但是我先跟你說,要成為優秀的程式設計師,必須經過艱苦的掙扎,勤奮學習,善於總結,勤於思考。其實無論什麼事情,要比別人功夫深,就要比別人多下苦功夫

在vb中,怎樣把乙個數字從string轉換為integer

3樓:匿名使用者

用型別轉換

抄函式cint或val均可即可將數字從string轉換到integer型別。

示例:dim a as string,b as integera="12.53"

b=cint(a)

'或者 b=val(a)

print b

4樓:手機使用者

val()函式可以的來

privat sub

dim s as string

dim a as integer

s="2008"

a=val(s)

end sub

而 str() 則可把整型自轉化為字串

還有時間型與字元型變數之

間的轉化等等,

一般書本附錄的vb函式庫都有收錄這幾個轉換函式,建議查閱。

5樓:匿名使用者

你用下面來

的例子試一源下把:

1.用強制轉換

baidim a as string,i as integera="12.53"

i=a現在字串a就轉換成了du

整型數i。

2.用型別zhi轉換函式cint()

dim a as string,i as integera="12.53"

i=cint(a)

3.用val()函式

該函式返回包dao含於字串內的數字,字串中是乙個適當型別的數值。

dim a as string,i as integera="12.53"

i=val(a)

說明:這裡的「i=val(a)」實際上也用到了上面說的強制轉換資料型別的功能,如果你把前面的定義換成「i as single」,則輸出到i中的數值就是12.53這個單精度浮點資料,則不是13這個整數了。

6樓:藍天迷塵

int(val(字串))

7樓:匿名使用者

說一句吧

用x=val(string)函式

x就是i***ger

請問,在VB中怎樣按照ascll碼表,將十六進位制資料轉換為字元?比如將0x28轉換為

private sub command1 click dim s as string s inputbox 請輸入 來乙個源16進製製數 print chr htod s end sub function htod s as string as longn len s for i 1 to n ht...

怎樣區分左右結構和左中右結構,請問如何區分漢字的結構左右與左中右上下和上中下

gently placed in the courtyard.請問如何區分漢字的結構 左右與左中右 上下和上中下 一 構成不同 左右結構,是指乙個字由左右兩部分構成,如 結構 指 部 等字就是 而左中右結構是指乙個字由從左到右排列的三部分組成,如 做 嫩 掰 等字就是。上中下三個部件組成的字,各部件...

鐵在反應中怎樣區分亞鐵離子還是鐵離子

與強氧化劑作用一般是先生成fe3 然後發生反應 2fe3 fe 3fe2 會有fe2 生成 需要注意的是和稀鹽酸反應是2價 不會生成3價 以上發生於溶液中 在空氣中燃燒是3價,與硫反應是2價,與氯氣反應是3價,與溴水是2價 我都是做題記得這些的 建議是多背背化學方程式 fe2 是綠色 fe3 是黃色...