VBA Muunna tekstimerkkijono numeroksi

Sinua saatetaan joutua muuttamaan tekstiksi tallennetut numerot todellisiksi numeroiksi VBA -koodissasi. Tässä opetusohjelmassa käymme läpi toimintoja, joita sinun on käytettävä merkkijonon muuntamiseen kokonaisluku-, pitkä-, kaksois-, desimaali- tai valuuttadatatyypiksi (napsauta tästä saadaksesi lisätietoja numeroiden muuntamisesta merkkijonoiksi)

Muunna merkkijono kokonaisluvuksi

Voit muuntaa merkkijonon kokonaisluvuksi CInt- tai CLng -funktion avulla. Jos murtoluku on pienempi kuin .5, funktio pyöristää alaspäin, jos murto on suurempi tai yhtä suuri kuin .5, funktio pyöristää ylöspäin. Seuraava koodi muuntaa merkkijonon kokonaisluvuksi:

1 MsgBox CInt ("7.55")

Tulos on:

Seuraava koodi käyttää CLng -funktiota merkkijonon muuntamiseen kokonaisluvuksi:

1 MsgBox CLng ("13,5")

Tulos on:

Huomautus: CInt- tai CLng -funktion avulla voit muuntaa merkkijonon kokonaislukuksi tai pitkäksi (vastaavasti) tietotyypiksi. Pitkä tietotyyppi on sama kuin kokonaislukuinen tietotyyppi, mutta suuret luvut ovat sallittuja. Aiemmin eroa vaadittiin muistin rajoitusten vuoksi. Nykyaikaisessa ohjelmoinnissa ei ole mitään syytä olla käyttämättä pitkää tietotyyppiä, koska muisti ei ole enää ongelma. Joten on aina parempi käyttää pitkää tietotyyppiä kokonaisluvun sijasta.

Voit käyttää Välitöntä ikkunaa nähdäksesi, miten arvo käsitellään, jos sitä ei muunneta kokonaislukuksi:

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


Yleensä teksti tallennetaan muuttujana ja tämä muuttuja on muutettava numerotietotyypiksi alla olevan koodin mukaisesti:

1234567 Sub Using_Variables ()Himmennä arvo Yksi merkkijononavalueOne = 5MsgBox CLng (valueOne) + CLng (valueOne)End Sub

Muunna merkkijono desimaaliluvuksi

CDbl- tai CDec -toiminnon avulla voit muuntaa merkkijonon desimaaliluvuksi. Seuraava koodi muuntaa merkkijonon kaksoisdatatyypiksi:

1 MsgBox CDbl ("9.1819")

Tulos on:

Seuraava koodi muuntaa merkkijonon desimaalitietotyypiksi:

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

Tulos on:

Voit käyttää Välitöntä ikkunaa nähdäksesi, miten arvo käsitellään, jos sitä ei muunneta kaksois- tai desimaalitietotyypiksi:

1 Debug.Print "13,57" + "13,4"

Tulos on:

Huomautus: Desimaalitietotyyppi voi tallentaa suurempia lukuja kuin kaksoisdatatyyppi, joten on aina suositeltavaa käyttää desimaalityyppiä, jos olet epävarma.

Muunna merkkijono valuutaksi

CCur -toiminnon avulla voit muuntaa merkkijonon valuutaksi. Seuraava koodi muuntaa merkkijonon valuutatietotyypiksi:

1 Alue ("A1"). Arvo = CCur ("18,5")

Tulos on:

Tulet auttaa kehittämään sivuston jakaminen sivu ystävillesi

wave wave wave wave wave