Jums gali tekti konvertuoti skaičius, išsaugotus kaip tekstas, į faktinius VBA kodo skaičius. Šioje pamokoje apžvelgsime funkcijas, kurias turite naudoti norėdami konvertuoti eilutę į sveiką, ilgą, dvigubą, dešimtainį ar valiutos duomenų tipą (spustelėkite čia, kad sužinotumėte apie skaičių konvertavimą į eilutes)
Konvertuoti eilutę į sveiką skaičių
Norėdami konvertuoti eilutę į sveiką skaičių, galite naudoti funkciją CInt arba CLng. Jei trupmena yra mažesnė nei .5, funkcija apvalins žemyn, o trupmena bus didesnė arba lygi .5, ji apvalins aukštyn. Šis kodas pavers eilutę į sveiką skaičių:
1 | „MsgBox CInt“ („7.55“) |
Rezultatas yra toks:
Šis kodas naudoja funkciją CLng, kad eilutė būtų konvertuota į sveiką skaičių:
1 | „MsgBox CLng“ („13,5“) |
Rezultatas yra toks:
Pastaba: Norėdami konvertuoti eilutę į sveiką skaičių arba ilgus (atitinkamai) duomenų tipus, galite naudoti funkciją CInt arba CLng. Ilgųjų duomenų tipas yra toks pat kaip ir sveikų skaičių, išskyrus didesnius skaičius. Anksčiau šis skirtumas buvo reikalingas dėl atminties apribojimų. Šiuolaikiniame programavime nėra jokios priežasties nenaudoti ilgų duomenų tipų, nes atmintis nebėra problema. Taigi visada geriau naudoti ilgą duomenų tipą, o ne sveiką skaičių.
Galite naudoti tiesioginį langą, kad pamatytumėte, kaip vertė bus apdorota, jei nebus konvertuota į sveiką skaičių:
1 | Derinimas. Spausdinti „13,5“ + „13,5“ |
Paprastai tekstas bus saugomas kaip kintamasis ir šį kintamąjį reikės konvertuoti į skaičių duomenų tipą, kaip parodyta toliau pateiktame kode:
1234567 | Sub, naudojant kintamuosius ()Dim reikšmė Vienas kaip eilutėvalueOne = 5„MsgBox“ CLng (valueOne) + CLng (valueOne)Pabaiga Sub |
Konvertuoti eilutę į dešimtainę
Norėdami konvertuoti eilutę į dešimtainę, galite naudoti funkciją CDbl arba CDec. Šis kodas eilutę pavers dvigubu duomenų tipu:
1 | „MsgBox CDbl“ („9.1819“) |
Rezultatas yra toks:
Šis kodas konvertuotų eilutę į dešimtainį duomenų tipą:
1 | „MsgBox CDec“ („13.57“) + „CDec“ („13.4“) |
Rezultatas yra toks:
Galite naudoti „Neatidėliotiną langą“, kad pamatytumėte, kaip reikšmė būtų apdorota, jei nebūtų konvertuota į dvigubą ar dešimtainį duomenų tipą:
1 | Derinti. Spausdinti „13.57“ + „13.4“ |
Rezultatas yra toks:
Pastaba: Dešimtainis duomenų tipas gali saugoti didesnius skaičius nei dvigubas duomenų tipas, todėl visada patartina naudoti dešimtainį duomenų tipą, kai nesate tikri.
Konvertuoti eilutę į valiutą
Norėdami konvertuoti eilutę į valiutą, galite naudoti funkciją CCur. Šis kodas konvertuotų eilutę į valiutos duomenų tipą:
1 | Diapazonas ("A1"). Vertė = CCur ("18,5") |
Rezultatas yra toks: