字串與其他類型之間的轉換 (Visual Basic)
您可以將數值、Boolean
或日期/時間值轉換成 String
。 您也可以反方向轉換 ,將字串值轉換為數值、Boolean
或 Date
,前提是字串的內容可以解譯為目的地資料類型的有效值。 如果無法解譯,就會發生執行階段錯誤。
上述所有指派的轉換無論是正向或反向,都是縮小轉換。 您應使用型別轉換關鍵字 (CBool
、CByte
、CDate
、CDbl
、CDec
、CInt
、CLng
、CSByte
、CShort
、CSng
、CStr
、CUInt
、CULng
、CUShort
和 CType
)。 Format 和 Val 函式可讓您進一步控制字元串和數值之間的轉換。
如果您已定義類別或結構,您可以在 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"
在英文 (北美洲) 地區設定中可接受,但在任何法文地區設定中則否。