VBA Konvertera textsträng till tal

Du kan behöva konvertera nummer som lagras som text till faktiska nummer i din VBA -kod. I den här självstudien kommer vi att gå över de funktioner som du behöver använda för att konvertera en sträng till ett heltal, lång, dubbel, decimal eller valutatyp (Klicka här för att lära dig om hur du konverterar tal till strängar)

Konvertera sträng till heltal

Du kan använda CInt- eller CLng -funktionen för att konvertera en sträng till ett heltal. Om fraktionen är mindre än .5 avrundas funktionen, om fraktionen är större än eller lika med .5 rundas funktionen upp. Följande kod kommer att konvertera en sträng till ett heltal:

1 MsgBox CInt ("7.55")

Resultatet är:

Följande kod använder CLng -funktionen för att konvertera en sträng till ett heltal:

1 MsgBox CLng ("13,5")

Resultatet är:

Notera: Du kan använda CInt- eller CLng -funktionen för att konvertera en sträng till ett heltal eller långa (respektive) datatyper. Långdatatypen är densamma som en heltalstyp förutom att större tal är tillåtna. Tidigare krävdes skillnaden på grund av minnesbegränsningar. I modern programmering finns det ingen anledning att inte använda den långa datatypen eftersom minne inte längre är ett problem. Så det är alltid bättre att använda en lång datatyp istället för ett heltal.

Du kan använda fönstret Omedelbar för att se hur värdet skulle bearbetas om det inte konverteras till ett heltal:

1 Debug.Print "13,5" + "13,5"


Vanligtvis kommer texten att lagras som en variabel och denna variabel måste konverteras till en nummerdatatyp som visas i koden nedan:

1234567 Sub Using_Variables ()Dim valueOne As StringvalueOne = 5MsgBox CLng (valueOne) + CLng (valueOne)Avsluta Sub

Konvertera sträng till decimal

Du kan använda CDbl- eller CDec -funktionen för att konvertera en sträng till en decimal. Följande kod skulle konvertera en sträng till en dubbel datatyp:

1 MsgBox CDbl ("9.1819")

Resultatet är:

Följande kod skulle konvertera en sträng till en decimal datatyp:

1 MsgBox CDec ("13.57") + CDec ("13.4")

Resultatet är:

Du kan använda fönstret Omedelbar för att se hur värdet skulle bearbetas om det inte konverteras till en dubbel eller decimal datatyp:

1 Debug.Print "13.57" + "13.4"

Resultatet är:

Notera: Decimaldatatypen kan lagra större tal än den dubbla datatypen, så det är alltid lämpligt att använda decimaldatatypen när du är osäker.

Konvertera sträng till valuta

Du kan använda CCur -funktionen för att konvertera en sträng till en valuta. Följande kod skulle konvertera en sträng till en valutatyp:

1 Område ("A1"). Värde = CCur ("18,5")

Resultatet är:

Du kommer att bidra till utvecklingen av webbplatsen, dela sidan med dina vänner

wave wave wave wave wave