語法介紹
CInt(expression)
說明
有時候,我們發現vbs使用inputbox賦值後是字元串。計算a+b會導致a、b連線。如a=12,b=33,a+b=1233
我們使用cint把a,b改為整數就行。
dim a,b,plusa=inputbox("please input a number as a")b=inputbox("please input a number as b")plus=a+bmsgbox plus' return a connect b
這必須改為:
dim a,b,plusa=inputbox("please input a number as a")b=inputbox("please input a number as b")a=cint(a)b=cint(b)plus=a+bmsgbox plus' return a+b
通常,可以使用子
類型轉換函式書寫代碼,以顯示某些操作的結果應被表示為特定的數據類型,而不是默認類型。例如,在出現貨幣、單精度或雙精度運算的情況下,使用 CInt 或 CLng 強制執行整數運算。
CInt 函式用於進行從其他數據類型到 Integer 子類型的國際公認的格式轉換。例如對十進制
分隔設定(如千分符)的識別,可能取決於系統的
區域設定。
如果 expression 在 Integer 子類型可接受的範圍之外,則發生錯誤。
注意
注意 CInt 與 Fix 和 Int 函式不同,後兩者將數字的分數部分截尾取整,而不是四捨五入。當分數部分恰好為 0.5 時,CInt 函式通常將其四捨五入為最接近的偶數。例如,0.5 被四捨五入為 0,而1.5 被四捨五入為 2。
同類函式
如下所示:
函式 | 返回類型 | expression參數範圍 |
CBool | | 任何有效的字元串或數值表達式。 |
CByte | | 0 至 255。 |
CCur | | -922,337,203,685,477.5808 至922,337,203,685,477.5807。 |
CDate | | 任何有效的日期表達式。 |
CDbl | | 負數從 -1.79769313486232E308 至 -4.94065645841E-324;正數從 4.940656458412E-324 至 1.79769313486232E308。 |
CDec | | 零變比數值,即無小數位數值,為 +/-79,228,162,514,264,337,593,543,950,335。對於 28 位小數的數值,範圍則為 +/-7.9228162514264337593543950335; |
CInt | | -32,768 至 32,767,小數部分四捨五入。 |
CLng | Long | -2,147,483,648 至 2,147,483,647,小數部分四捨五入。 |
CSng | Single | 負數為 -3.402823E38 至 -1.401298E-45;正數為 1.401298E-45 至 3.402823E38。 |
CStr | String | |
CVar | | 若為數值,則範圍與Double相同;若不為數值,則範圍與String相同。 |
必要的
expression參數可以是任何字元串表達式或
數值表達式。如果傳遞給函式的
expression超過轉換目標數據類型的範圍,將發生錯誤。
通常,在編碼時可以使用數據類型轉換函式,來體現某些操作的結果應該表示為特定的數據類型,而不是預設的數據類型。例如,當單精度、雙精度或整數運算發生的情況下,使用
CCur來強制執行貨幣運算。
應該使用數據類型轉換函式來代替
Val,以使國際版的數據轉換可以從一種數據類型轉換為另一種。例如,當使用
Ccur時,不同的小數點
分隔設定、千分位分隔設定和各種貨幣選項,依據系統的國別設定都會被妥善識別。
當小數部分恰好為 0.5 時,Cint和CLng函式會將它轉換為最接近的偶數值。例如,0.5 轉換為 0、1.5 轉換為 2。Cint和CLng函式不同於Fix和Int函式,Fix和Int函式會將小數部分截斷而不是四捨五入。並且Fix和Int函式總是返回與傳入的數據類型相同的值。
使用
IsDate函式,可判斷
date是否可以被轉換為日期或時間。
Cdate可用來識別日期文字和時間文字,以及落入可接受的日期範圍內的數值。當轉換一個數字成為日期時,是將整數部分轉換為日期,小數部分轉換為從午夜起算的時間。
CDate依據系統上的國別設定來決定日期的格式。如果提供的格式為不可識別的日期設定,則不能正確判斷年、月、日的順序。另外,長日期格式,若包含有星期的字元串,也不能被識別。
CVDate函式也提供對早期 Visual Basic 版本的兼容性。
CVDate函式的語法與
CDate函式是完全相同的,不過,
CVDate是返回一個
Variant,它的子類型是
Date,而不是實際的
Date類型。因為剛開始已有真正的
Date類型,所以
CVDate也不再需要了。轉換一個
表達式成為
Date,再賦值給一個
Variant,也可以達到同樣的效果。也可以使用這種技巧將其他真正的數據
類型轉換為對等的
Variant子類型。
注意CDec函式不能返回獨立的數據類型,而總是返回一個Variant,它的值已經被轉換為Decimal子類型。