Konverteringar mellan strängar och andra typer (Visual Basic)
Du kan konvertera ett numeriskt värde, Boolean
eller ett datum/tid-värde till en String
. Du kan också konvertera i omvänd riktning – från ett strängvärde till numeriskt, Boolean
eller Date
– förutsatt att innehållet i strängen kan tolkas som ett giltigt värde för måldatatypen. Om de inte kan det uppstår ett körningsfel.
Konverteringarna för alla dessa tilldelningar i båda riktningarna begränsar konverteringarna. Du bör använda nyckelorden typkonvertering (CBool
, CByte
, CDate
, CDbl
, CDec
, CInt
, CLng
, CSByte
, , CShort
CSng
, CStr
, CULng
CUInt
, , CUShort
och CType
). Funktionerna Format och Val ger dig ytterligare kontroll över konverteringar mellan strängar och tal.
Om du har definierat en klass eller struktur kan du definiera typkonverteringsoperatorer mellan String
och typen av klass eller struktur. Mer information finns i Så här definierar du en konverteringsoperator.
Konvertering av tal till strängar
Du kan använda Format
funktionen för att konvertera ett tal till en formaterad sträng, som inte bara kan innehålla lämpliga siffror utan även formateringssymboler som ett valutatecken (till exempel $
), tusentalsavgränsare eller siffriga grupperingssymboler (till exempel ,
) och en decimalavgränsare (till exempel .
). Format
använder automatiskt lämpliga symboler enligt de nationella alternativinställningar som anges i Windows Kontrollpanelen.
Observera att sammanfogningsoperatorn (&
) kan konvertera ett tal till en sträng implicit, vilket visas i följande exempel.
' The following statement converts count to a String value.
Str = "The total count is " & count
Konvertering av strängar till tal
Du kan använda Val
funktionen för att explicit konvertera siffrorna i en sträng till ett tal. Val
läser strängen tills den stöter på ett annat tecken än en siffra, blanksteg, flik, radmatning eller punkt. Sekvenserna "&O" och "&H" ändrar basen för nummersystemet och avslutar genomsökningen. Tills den slutar läsa Val
konverteras alla lämpliga tecken till ett numeriskt värde. Följande instruktion returnerar till exempel värdet 141.825
.
Val(" 14 1.825 miles")
När Visual Basic konverterar en sträng till ett numeriskt värde använder den de nationella alternativinställningar som anges i Windows-Kontrollpanelen för att tolka tusentalsavgränsaren, decimaltecknet och valutasymbolen. Det innebär att en konvertering kan lyckas under en inställning men inte en annan. Till exempel "$14.20"
är acceptabelt på engelska (USA) språk, men inte på något franskt språk.