VBA konvertuoti teksto eilutę į skaičių

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:

Padėsite svetainės plėtrą, dalintis puslapį su draugais

wave wave wave wave wave