asp數據強制轉換
CBool(expression)
CByte(expression)
CCur(expression)
CDate(expression)
CDbl(expression) (保留小數)
CDec(expression)
CInt(expression) (不保留小數)
CLng(expression) (不保留小數)
CSng(expression)
CStr(expression)
CVar(expression)
CStr(expression)
Vbscript類型轉換函數
CBool函數
必要的 expression 參數可以是任何字符串表達式或數值表達式。
返回類型
函數名稱決定返回類型,如下所示:
函數 返回類型 expression 參數范圍
CBool Boolean 任何有效的字符串或數值表達式。
CByte Byte 0 至 255。
CCur Currency -922,337,203,685,477.5808 至922,337,203,685,477.5807。
CDate Date 任何有效的日期表達式。
CDbl Double 負數從 -1.79769313486232E308 至 -4.94065645841247E-324;正
數從 4.94065645841247E-324 至 1.79769313486232E308。
CDec Decimal 零變比數值,即無小數位數值,為
+/-79,228,162,514,264,337,593,543,950,335。對於 28 位小數的數值,范圍則
為
+/-7.9228162514264337593543950335;最小的可能非零值是 0.00000000000000
00000000000001。
CInt Integer -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 依據 expression 參數返回 Cstr。
CVar Variant 若為數值,則范圍與 Double 相同;若不為數值,則范圍與 Stri
ng 相同。
說明
如果傳遞給函數的 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 子類型。
描述
返回表達式,此表達式已轉換為 Boolean(布爾類型/是否類型) 子類型的 Variant(變量)。
語法
CBool(expression)
expression 是任意有效的表達式。
說明
如果 expression 是零,則返回 False;否則返回 True。如果 expression 不能解釋為數值,則將發生運行時錯誤。 下面的示例利用 CBool 函數把 expression(表達式) 轉換為 Boolean。如果 expression 不為零, CBool 返回 True;否則,返回 False。
Dim A, B, Check
A = 5: B = 5' 初始化變量
Check = CBool(A = B)' check的值為 True
A = 0 '定義變量
Check = CBool(A) '復選框設為 False
Cbyte函數
描述
返回表達式,此表達式已被轉換為 Byte(字節類型) 子類型的 Variant。
語法
CByte(expression)
expression 參數是任意有效的表達式。
說明
通常,可以使用子類型轉換函數書寫代碼,以顯示某些操作的結果應被表示為特定的數據類型,而不是默認類型。例如,在出現貨幣、單精度、雙精度或整數運算的情況下,使用 CByte 強制執行字節運算。
CByte 函數用於進行從其他數據類型到 Byte 子類型的的國際公認的格式轉換。例如對十進制分隔符(如千分符)的識別,可能取決於系統的區域設置。
如果 expression 在 Byte 子類型可接受的范圍之外,則發生錯誤。下面的示例利用 CByte 函數把 expression 轉換為 byte:
Dim MyDouble, MyByte
MyDouble = 125.5678 ' MyDouble 是一個雙精度值
MyByte = CByte(MyDouble)' MyByte 包含 126
Ccur函數
描述
返回表達式,此表達式已被轉換為 Currency 子類型的 Variant。
語法
CCur(expression)
expression 參數是任意有效的表達式。
說明
通常,您可以使用子類型數據轉換函數書寫代碼,以顯示某些操作的結果應當被表達為特定的數據類型,而非默認的數據類型。例如在整數運算的情況下,使用 CCur 函數強制進行貨幣計算。
CCur 函數用於進行從其他數據類型到 Currency 子類型的國際公認的格式轉換。例如,對十進制分隔符和千位分隔符的識別取決於系統的區域設置。
下面的示例利用 CCur 函數把 expression 轉換為 Currency:
Dim MyDouble, MyCurr
MyDouble = 543.214588' MyDouble 是雙精度的
MyCurr = CCur(MyDouble * 2)'把 MyDouble * 2 (1086.429176) 的結果轉換為
' Currency (1086.4292)
Cdate函數
描述
返回表達式,此表達式已被轉換為 Date 子類型的 Variant。
語法
CDate(date)
date 參數是任意有效的日期表達式。
說明
IsDate 函數用於判斷 date 是否可以被轉換為日期或時間。CDate 識別日期文字和時間文字,以及一些在可接受的日期范圍內的數字。在將數字轉換為日期時,數字的整數部分被轉換為日期,分數部分被轉換為從午夜開始計算的時間。
CDate 根據系統的區域設置識別日期格式。如果數據的格式不能被日期設置識別,則不能判斷年、月、日的正確順序。另外,如果長日期格式包含表示星期幾的字符串,則不能被識別。
下面例子利用 CDate 函數把字符串轉換為日期。通常,建議不要使用硬編碼日期和時間(如下例所示)。而要使用日期和時間的文字形式(例如 #10/19/1962#, #4:45:23 PM#)。
MyDate = "October 19, 1962"' 定義日期
MyShortDate = CDate(MyDate)' 轉換為日期數據類型
MyTime = "4:35:47 PM"' 定義時間
MyShortTime = CDate(MyTime)' 轉換為日期數據類型
Cdbl函數
描述
返回表達式,此表達式已被轉換為 Double 子類型的 Variant。
語法
CDbl(expression)
expression 參數是任意有效的表達式。
說明
通常,您可以使用子類型數據轉換函數書寫代碼,以顯示某些操作的結果應當被表達為特定的數據類型,而非默認的數據類型。例如在出現貨幣或整數運算的情況下,使用 CDbl 或 CSng 函數強制進行雙精度或單精度算術運算。
CDbl 函數用於進行從其他數據類型到 Double 子類型的國際公認的格式轉換。例如,十進制分隔符和千位分隔符的識別取決於系統的區域設置。下面的示例利用 CDbl 函數把 expression 轉換為 Double。
Dim MyCurr, MyDouble
MyCurr = CCur(234.456784)' MyCurr 是 Currency 型。
MyDouble = CDbl(MyCurr * 8.2 * 0.01)' 把結果轉換為 Double 型。
CInt函數
描述
返回表達式,此表達式已被轉換為 Integer 子類型的 Variant。
語法
CInt(expression)
expression 參數是任意有效的表達式。
說明
通常,可以使用子類型轉換函數書寫代碼,以顯示某些操作的結果應被表示為特定的數據類型,而不是默認類型。例如,在出現貨幣、單精度或雙精度運算的情況下,使用 CInt 或 CLng 強制執行整數運算。
CInt 函數用於進行從其他數據類型到 Integer 子類型的國際公認的格式轉換。例如對十進制分隔符(如千分符)的識別,可能取決於系統的區域設置。
如果 expression 在 Integer 子類型可接受的范圍之外,則發生錯誤。
下面的示例利用 CInt 函數把值轉換為 Integer:
Dim MyDouble, MyInt
MyDouble = 2345.5678 ' MyDouble 是 Double。
MyInt = CInt(MyDouble)' MyInt 包含 2346。
--------------------------------------------------------------------------------
注意 CInt 與 Fix 和 Int 函數不同,後兩者將數字的分數部分截尾取整,而不是四捨五入。當分數部分恰好為 0.5 時,CInt 函數通常將其四捨五入為最接近的偶數。例如,0.5 被四捨五入為 0,而 1.5 被四捨五入為 2。
--------------------------------------------------------------------------------
CLng函數
描述
返回表達式,此表達式已被轉換為 Long 子類型的 Variant。
語法
CLng(expression)
expression 參數是任意有效的表達式。
說明
通常,您可以使用子類型數據轉換函數書寫代碼,以顯示某些操作的結果應當被表達為特定的數據類型,而非默認的數據類型。例如,在出現貨幣運算、單精度或雙精度算術運算的情況下,使用 CInt 或 CLng 函數強制進行整數運算。
CLng 函數用於進行從其他數據類型到 Long 子類型的的國際公認的格式轉換。例如,對十進制分隔符和千位分隔符的識別取決於系統的區域設置。
如果 expression 取值不在 Long 子類型的允許范圍內,則會出現錯誤。
下面的示例利用 CLng 函數把值轉換為 Long:
Dim MyVal1, MyVal2, MyLong1, MyLong2
MyVal1 = 25427.45: MyVal2 = 25427.55' MyVal1, MyVal2 是雙精度值。
MyLong1 = CLng(MyVal1)' MyLong1 包含 25427。
MyLong2 = CLng(MyVal2)' MyLong2 包含 25428。
--------------------------------------------------------------------------------
注意 CLng 函數與 Fix 和 Int 函數功能不同,後兩者函數對數值的小數部分進行截尾取整而不是四捨五入。當小數部分恰好等於 0.5 時, CLng 函數通常向與此數最接近的偶數取整。例如,0.5 取整為 0、1.5 取整為 2。
--------------------------------------------------------------------------------
CSng函數
描述
返回表達式,該表達式已被轉換為 Single 子類型的 Variant。
語法
CSng(expression)
expression 參數是任意有效的表達式。
說明
通常,可以使用子類型轉換函數書寫代碼,以顯示某些操作的結果應被表示為特定的數據類型,而不是默認類型。例如,在出現貨幣或整數運算的情況下,使用 CDbl 或 CSng 強制執行雙精度或單精度運算。
CSng 函數用於進行從其他數據類型到 Single 子類型的國際公認的格式轉換。例如,對十進制分隔符(如千分符)的識別取決於系統的區域設置。
如果 expression 在 Single 子類型允許的范圍之外,則發生錯誤。
下面的示例利用 CSng 函數把值轉換為 Single:
Dim MyDouble1, MyDouble2, MySingle1, MySingle2' MyDouble1, MyDouble2 是雙精度值。
MyDouble1 = 75.3421115: MyDouble2 = 75.3421555
MySingle1 = CSng(MyDouble1)' MySingle1 包含 75.34211。
MySingle2 = CSng(MyDouble2)' MySingle2 包含 75.34216。
Cstr函數
描述
返回表達式,該表達式已被轉換為 String 子類型的 Variant。
語法
CStr(expression)
expression 參數是任意有效的表達式。
說明
通常,可以使用子類型轉換函數書寫代碼,以顯示某些操作的結果應被表示為特定的數據類型,而不是默認類型。例如,使用 CStr 強制將結果表示為 String。
CStr 函數用於替代 Str 函數來進行從其他數據類型到 String 子類型的國際公認的格式轉換。例如對十進制分隔符的識別取決於系統的區域置。
expression 根據下表決定返回的數據:
如果 expression 為 CStr 返回
Boolean 字符串,包含 True 或 False。
Date 字符串,包含系統的短日期格式日期。
Null 運行時錯誤。
Empty 零長度字符串 ("")。
Error 字符串,包含跟隨有錯誤號碼的單詞 Error。
其他數值 字符串,包含此數字。
下面的示例利用 CStr 函數把數字轉換為 String:
Dim MyDouble, MyString
MyDouble = 437.324 ' MyDouble 是雙精度值。
MyString = CStr(MyDouble)' MyString 包含 "437.324"。