VBA Pretvori besedilni niz v številko

Morda boste morali pretvoriti številke, shranjene kot besedilo, v dejanske številke v kodi VBA. V tej vadnici bomo preučili funkcije, ki jih morate uporabiti za pretvorbo niza v celoštevilsko, dolgo, dvojno, decimalno ali valutno vrsto podatkov (kliknite tukaj, če želite izvedeti več o pretvorbi števil v nize)

Pretvori niz v celo število

Za pretvorbo niza v celo število lahko uporabite funkcijo CInt ali CLng. Če je ulomek manjši od .5, bo funkcija zaokrožila navzdol, če je ulomek večji ali enak .5, bo funkcija zaokrožila navzgor. Naslednja koda pretvori niz v celo število:

1 MsgBox CInt ("7,55")

Rezultat je:

Naslednja koda uporablja funkcijo CLng za pretvorbo niza v celo število:

1 MsgBox CLng ("13,5")

Rezultat je:

Opomba: S funkcijo CInt ali CLng lahko pretvorite niz v celoštevilčne ali dolge (oziroma) podatkovne vrste. Vrsta dolgih podatkov je enaka celoštevilskemu tipu podatkov, razen dovoljenih večjih številk. V preteklosti je bila razlika potrebna zaradi omejitev spomina. V sodobnem programiranju ni razloga, da ne bi uporabili dolge vrste podatkov, saj pomnilnik ni več problem. Zato je vedno bolje uporabiti dolg podatkovni tip namesto celega števila.

Z neposrednim oknom lahko vidite, kako bi se vrednost obdelala, če ne bi bila pretvorjena v celo število:

1 Odpravljanje napak. Natisni "13,5" + "13,5"


Običajno bo besedilo shranjeno kot spremenljivka in to spremenljivko bo treba pretvoriti v številčni podatkovni tip, kot je prikazano v spodnji kodi:

1234567 Sub Using_Variables ()Zatemnjena vrednost Eno kot nizvalueOne = 5MsgBox CLng (valueOne) + CLng (valueOne)End Sub

Pretvori niz v decimalno

Za pretvorbo niza v decimalko lahko uporabite funkcijo CDbl ali CDec. Naslednja koda bi pretvorila niz v dvojni podatkovni tip:

1 MsgBox CDbl ("9.1819")

Rezultat je:

Naslednja koda bi pretvorila niz v decimalni tip podatkov:

1 MsgBox CDec ("13,57") + CDec ("13,4")

Rezultat je:

Z neposrednim oknom lahko vidite, kako bi bila vrednost obdelana, če ne bi bila pretvorjena v dvojni ali decimalni tip podatkov:

1 Odpravljanje napak "Natisni" 13,57 " +" 13,4 "

Rezultat je:

Opomba: Decimalni podatkovni tip lahko shrani večja števila kot dvojni podatkovni tip, zato je vedno priporočljivo uporabiti decimalni tip podatkov, če niste prepričani.

Pretvori niz v valuto

Za pretvorbo niza v valuto lahko uporabite funkcijo CCur. Naslednja koda bi pretvorila niz v podatkovni tip valute:

1 Razpon ("A1"). Vrednost = CCur ("18,5")

Rezultat je:

wave wave wave wave wave