字串與其他類型之間的轉換 (Visual Basic)

您可以將數值、Boolean 或日期/時間值轉換成 String。 您也可以反方向轉換 ,將字串值轉換為數值、BooleanDate,前提是字串的內容可以解譯為目的地資料類型的有效值。 如果無法解譯,就會發生執行階段錯誤。

上述所有指派的轉換無論是正向或反向,都是縮小轉換。 您應使用型別轉換關鍵字 (CBoolCByteCDateCDblCDecCIntCLngCSByteCShortCSngCStrCUIntCULngCUShortCType)。 FormatVal 函式可讓您進一步控制字元串和數值之間的轉換。

如果您已定義類別或結構,您可以在 String 和類別或結構的型別之間定義型別轉換運算子。 如需詳細資訊,請參閱 How to: Define a Conversion Operator

將數值轉換成字串

您可以使用 Format 函式將數值轉換成格式化字串,字串中不僅可以包含正確的數字,還可以格式化貨幣符號 (例如 $)、千位分隔符號或「數字分位符號」 (例如 ,),以及小數分隔符號 (例如 .)。 Format 會根據 Windows「控制台」中指定的「地區選項」設定,自動使用適當的符號。

請注意,串連 (&) 運算子可以隱含地將數值轉換成字串,如下列範例所示。

' The following statement converts count to a String value.  
Str = "The total count is " & count  

將字串轉換成數值

您可以使用 Val 函式,明確地將字串中的數字轉換成數值。 Val 會讀取字串,直到遇到數字、空格、定位字元、換行字元或句點以外的字元。 序列 "&O" 和 "&H" 會改變數值系統的基底,並終止掃描。 在停止讀取之前,Val 會將所有適當的字元轉換成數值。 例如,下列陳述式會傳回值 141.825

Val(" 14 1.825 miles")

當 Visual Basic 將字串轉換成數值時,它會使用 Windows「控制台」中指定的「地區選項」設定來解譯千位分隔符號、小數分隔符號和貨幣符號。 這表示轉換可能在某個設定中成功,但在其他設定則未必。 舉例來說,"$14.20" 在英文 (北美洲) 地區設定中可接受,但在任何法文地區設定中則否。

另請參閱