VBA skonvertuje textový reťazec na číslo

Možno budete musieť previesť čísla uložené ako text na skutočné čísla v kóde VBA. V tomto návode sa pozrieme na funkcie, ktoré musíte použiť na prevod reťazca na celočíselný, dlhý, dvojitý, desatinný alebo menový typ údajov (kliknutím sem sa dozviete o prevode čísel na reťazce)

Previesť reťazec na celé číslo

Na konverziu reťazca na celé číslo môžete použiť funkciu CInt alebo CLng. Ak je zlomok menší ako 0,5, funkcia sa zaokrúhli nadol, ak je zlomok väčší alebo rovný 0,5, funkcia sa zaokrúhli nahor. Nasledujúci kód skonvertuje reťazec na celé číslo:

1 MsgBox CInt ("7,55")

Výsledkom je:

Nasledujúci kód používa funkciu CLng na konverziu reťazca na celé číslo:

1 MsgBox CLng ("13,5")

Výsledkom je:

Poznámka: Na konverziu reťazca na celočíselné alebo dlhé (resp.) Dátové typy môžete použiť funkciu CInt alebo CLng. Dlhý dátový typ je rovnaký ako celočíselný dátový typ, ibaže sú povolené väčšie čísla. V minulosti bol rozdiel vyžadovaný kvôli obmedzeniu pamäte. V modernom programovaní nie je dôvod nepoužívať dlhý dátový typ, pretože pamäť už nie je problémom. Preto je vždy lepšie použiť dlhý typ údajov ako celé číslo.

V bezprostrednom okne môžete vidieť, ako by sa hodnota spracovala, ak by nebola prevedená na celé číslo:

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


Text bude spravidla uložený ako premenná a túto premennú bude potrebné previesť na typ údajov s číslami, ako je uvedené v nasledujúcom kóde:

1234567 Sub using_Variables ()Dim valueOne As StringvalueOne = 5MsgBox CLng (valueOne) + CLng (valueOne)Koniec pod

Previesť reťazec na desatinné miesto

Na prevod reťazca na desatinné miesto môžete použiť funkciu CDbl alebo CDec. Nasledujúci kód by konvertoval reťazec na dvojitý dátový typ:

1 MsgBox CDbl ("9.1819")

Výsledkom je:

Nasledujúci kód by konvertoval reťazec na desatinný typ údajov:

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

Výsledkom je:

V okne Okamžité môžete zistiť, ako by sa hodnota spracovala, ak by nebola prevedená na dvojitý alebo desatinný typ údajov:

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

Výsledkom je:

Poznámka: Desiatkový dátový typ môže ukladať väčšie čísla ako dvojitý dátový typ, preto je vždy vhodné použiť desatinný dátový typ, ak si nie ste istí.

Previesť reťazec na menu

Na konverziu reťazca na menu môžete použiť funkciu CCur. Nasledujúci kód by konvertoval reťazec na typ údajov meny:

1 Rozsah („A1“). Hodnota = CCur („18,5“)

Výsledkom je:

Vám pomôže rozvoju miesta, zdieľať stránku s priateľmi

wave wave wave wave wave