Dela via


Konverteringar mellan strängar och andra typer (Visual Basic)

Du kan konvertera ett numeriskt värde, Booleaneller ett datum/tid-värde till en String. Du kan också konvertera i omvänd riktning – från ett strängvärde till numeriskt, Booleaneller 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, , CShortCSng, CStr, CULngCUInt, , CUShortoch 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 .). Formatanvä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.

Se även