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 是黃色...