CInt

CInt

CInt即返回表達式,此表達式已被轉換為Integer子類型的Variant。

語法介紹


CInt(expression)
expression參數是任意有效的表達式。

說明

有時候,我們發現vbs使用inputbox賦值后是字元串。計算a+b會導致a、b連接。如a=12,b=33,a+b=1233
我們使用cint把a,b改為整數就行。
這必須改為:
通常,可以使用子類型轉換函數書寫代碼,以顯示某些操作的結果應被表示為特定的數據類型,而不是默認類型。例如,在出現貨幣、單精度或雙精度運算的情況下,使用CInt或CLng強制執行整數運算。
CInt函數用於進行從其他數據類型到Integer子類型的國際公認的格式轉換。例如對十進位分隔符(如千分符)的識別,可能取決於系統的區域設置。
如果expression在Integer子類型可接受的範圍之外,則發生錯誤。

注意

注意CInt與FixInt函數不同,后兩者將數字的分數部分截尾取整,而不是四捨五入。當分數部分恰好為0.5時,CInt函數通常將其四捨五入為最接近的偶數。例如,0.5被四捨五入為0,而1.5被四捨五入為2。
類型轉換函數每個函數都可以強制將一個表達式轉換成某種特定數據類型。

同類函數


如下所示:
函數返回類型expression參數範圍
CBoolBoolean任何有效的字元串或數值表達式
CByteByte0至255。
CCurCurrency-922,337,203,685,477.5808至922,337,203,685,477.5807。
CDateDate任何有效的日期表達式。
CDblDouble負數從-1.79769313486232E308至-4.94065645841E-324;正數從4.940656458412E-324至1.79769313486232E308。
CDecDecimal
零變比數值,即無小數位數值,為
+/-79,228,162,514,264,337,593,543,950,335。對於28位小數的數值,範圍則為
+/-7.9228162514264337593543950335;
CIntInteger-32,768至32,767,小數部分四捨五入。
CLngLong-2,147,483,648至2,147,483,647,小數部分四捨五入。
CSngSingle負數為-3.402823E38至-1.401298E-45;正數為1.401298E-45至3.402823E38。
CStrString依據expression參數返回Cstr
CVarVariant若為數值,則範圍與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子類型。