Előfordulhat, hogy a szövegként tárolt számokat tényleges számokká kell konvertálnia a VBA -kódjában. Ebben az oktatóanyagban áttekintjük azokat a függvényeket, amelyeket használnia kell egy karakterlánc egész, hosszú, kettős, tizedes vagy valuta adattípusra való konvertálásához (kattintson ide a számok karakterlánccá konvertálásáról)
A karakterlánc konvertálása egész számgá
A CInt vagy a CLng függvénnyel karakterláncot egész számgá alakíthat át. Ha a tört kisebb, mint 5, akkor a függvény lefelé kerekít, ha a tört nagyobb, mint .5, akkor a függvény felfelé. A következő kód egy karakterláncot egész számmá alakít:
1 | MsgBox CInt ("7.55") |
Az eredmény:
A következő kód a CLng függvényt használja a karakterlánc egész számmá alakításához:
1 | MsgBox CLng ("13,5") |
Az eredmény:
Jegyzet: A CInt vagy a CLng függvénnyel egy karakterláncot egész vagy hosszú (vagy) adattípusokká alakíthat át. A hosszú adattípus megegyezik egy egész adattípussal, kivéve a nagyobb számokat. Korábban a megkülönböztetésre a memória korlátai miatt volt szükség. A modern programozásban nincs ok arra, hogy ne használja a hosszú adattípust, mivel a memória már nem probléma. Tehát mindig jobb hosszú adattípust használni egész szám helyett.
Az Azonnali ablak segítségével megtekintheti, hogyan dolgozzák fel az értéket, ha nem egész számra konvertálják:
1 | Hibakeresés. Nyomtatás "13,5" + "13,5" |
Általában a szöveg változóként kerül tárolásra, és ezt a változót számadattípusra kell konvertálni az alábbi kód szerint:
1234567 | Sub Using_Variables ()Dim érték: Egy mint karakterláncvalueOne = 5MsgBox CLng (valueOne) + CLng (valueOne)End Sub |
A karakterlánc átalakítása tizedesre
A CDbl vagy a CDec funkcióval karakterláncot tizedesre alakíthat át. A következő kód egy karakterláncot dupla adattípussá alakítana át:
1 | MsgBox CDbl ("9.1819") |
Az eredmény:
A következő kód egy karakterláncot decimális adattípusra konvertál:
1 | MsgBox CDec ("13.57") + CDec ("13.4") |
Az eredmény:
Az Azonnali ablak segítségével megtekintheti, hogyan dolgozzák fel az értéket, ha nem konvertálják kettős vagy tizedes adattípusra:
1 | Hibakeresés. Nyomtatás "13.57" + "13.4" |
Az eredmény:
Jegyzet: A tizedes adattípus nagyobb számokat tárolhat, mint a kettős adattípus, ezért mindig tanácsos a tizedes adattípust használni, ha bizonytalan.
A karakterlánc konvertálása pénznemre
A CCur funkcióval karakterláncot konvertálhat pénznemre. A következő kód egy karakterláncot konvertálna valuta adattípusra:
1 | Tartomány ("A1"). Érték = CCur ("18,5") |
Az eredmény: