?? a980405.gb_
字號:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<TITLE>初級篇: 資料型別的注意事項?</TITLE>
<META NAME="GENERATOR" CONTENT="Mozilla/3.01Gold (Win95; I) [Netscape]">
<META NAME="Author" CONTENT="KJ Wang">
</HEAD>
<BODY TEXT="#202020" BGCOLOR="#FFFFFF" LINK="#FF0000" VLINK="#000080" ALINK="#FF0000">
<H2 ALIGN=CENTER><A HREF="vbba.htm">新觀念的 VB5 教本</A></H2>
<H3 ALIGN=CENTER><A HREF="../vbweeks.htm">每周一問</A>: 挑戰您的 VB 功力 (初級篇, 98/04/05)</H3>
<H2>
<HR WIDTH="100%"></H2>
<TABLE WIDTH="100%" >
<TR VALIGN=TOP>
<TD NOWRAP>Q:</TD>
<TD><FONT COLOR="#000080">Dim x, y, z As Integer</FONT>
<P><FONT COLOR="#000080">x = "10"<BR>
y = "13"<BR>
z = "13"</FONT></P>
<P><FONT COLOR="#000080">If x + y = x + z Then ...</FONT></P>
<P>結果以上判斷式會得到 False, 為什麼?</P>
</TD>
</TR>
<TR VALIGN=TOP>
<TD>A:</TD>
<TD>請注意 Dim x, y, z As Integer 等於
<UL>
<P>Dim x <FONT COLOR="#008000">'不定型型別<BR>
</FONT>Dim y <FONT COLOR="#008000">'不定型型別<BR>
</FONT>Dim z As Integer</P>
</UL>
<P>所以 x + y 等於 "1013", 但 x + z 等於 "10" + 13
= 23, 當然 x + y 就不等於 x + z 了。</P>
<P>要避免以上的問題, 常見的方法是規規矩矩地宣告每一個變數的型別, 但如果您寫的是
VB Script 程式, 則由於 VB Script 的變數都只能宣告成 Dim x 格式的不定型型別,
所以采用的方法是:</P>
<UL>
<P>CInt(x) ' 將 x 轉成 Integer 型別, 然後傳回<BR>
CInt(y) ' 將 y 轉成 Integer 型別, 然後傳回<BR>
CInt(z) ' 將 z 轉成 Integer 型別, 然後傳回</P>
</UL>
<P>除了 CInt 之外, 用來轉換資料型別的含有還有: </P>
<UL>
<PRE><FONT SIZE=+1>CBool(X) 將變數 X 轉換成 Boolean 型別
CByte(X) 將變數 X 轉換成 Byte 型別
CCur(X) 將變數 X 轉換成 Currency 型別
CDate(X) 將變數 X 轉換成 Date 型別
CDbl(X) 將變數 X 轉換成 Double 型別
CLng(X) 將變數 X 轉換成 Long 型別
CSng(X) 將變數 X 轉換成 Single 型別
CStr(X) 將變數 X 轉換成 String 型別 </FONT></PRE>
</UL>
</TD>
</TR>
</TABLE>
<P>
<HR WIDTH="100%"></P>
</BODY>
</HTML>
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -