VBA Konverter tekststreng til tal

Det kan være nødvendigt at konvertere numre, der er gemt som tekst, til faktiske numre i din VBA -kode. I denne vejledning skal vi gå over de funktioner, du skal bruge til at konvertere en streng til et heltal, lang, dobbelt, decimal eller valutatype (klik her for at lære om at konvertere tal til strenge)

Konverter streng til heltal

Du kan bruge CInt- eller CLng -funktionen til at konvertere en streng til et helt tal. Hvis brøken er mindre end 0,5 vil funktionen runde ned, hvis brøkdelen er større end eller lig med 5 vil funktionen runde op. Følgende kode konverterer en streng til et helt tal:

1 MsgBox CInt ("7.55")

Resultatet er:

Følgende kode bruger CLng -funktionen til at konvertere en streng til et helt tal:

1 MsgBox CLng ("13,5")

Resultatet er:

Bemærk: Du kan bruge CInt- eller CLng -funktionen til at konvertere en streng til et helt tal eller lange (henholdsvis) datatyper. Den lange datatype er den samme som en heltal datatype, medmindre større tal er tilladt. Tidligere var sondringen påkrævet på grund af hukommelsesbegrænsninger. I moderne programmering er der ingen grund til ikke at bruge den lange datatype, da hukommelse ikke længere er et problem. Så det er altid bedre at bruge en lang datatype i stedet for et helt tal.

Du kan bruge vinduet Umiddelbart til at se, hvordan værdien ville blive behandlet, hvis den ikke konverteres til et helt tal:

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


Normalt gemmes teksten som en variabel, og denne variabel skal konverteres til en taldatatype som vist i koden herunder:

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

Konverter streng til decimal

Du kan bruge funktionen CDbl eller CDec til at konvertere en streng til en decimal. Følgende kode konverterer en streng til en dobbelt datatype:

1 MsgBox CDbl ("9.1819")

Resultatet er:

Følgende kode konverterer en streng til en decimal datatype:

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

Resultatet er:

Du kan bruge vinduet Umiddelbart til at se, hvordan værdien ville blive behandlet, hvis den ikke konverteres til en dobbelt eller decimal datatype:

1 Debug.Print "13.57" + "13.4"

Resultatet er:

Bemærk: Decimal datatypen kan gemme større tal end den dobbelte datatype, så det er altid tilrådeligt at bruge decimal datatypen, når du er usikker.

Konverter streng til valuta

Du kan bruge CCur -funktionen til at konvertere en streng til en valuta. Følgende kode konverterer en streng til en valutadatatype:

1 Område ("A1"). Værdi = CCur ("18,5")

Resultatet er:

Du vil bidrage til udviklingen af ​​hjemmesiden, at dele siden med dine venner

wave wave wave wave wave