VBA převést textový řetězec na číslo

Možná budete muset převést čísla uložená jako text na skutečná čísla v kódu VBA. V tomto tutoriálu se podíváme na funkce, které potřebujete k převodu řetězce na celočíselný, dlouhý, dvojitý, desetinný nebo měnový datový typ (kliknutím sem se dozvíte o převodu čísel na řetězce)

Převést řetězec na celé číslo

K převodu řetězce na celé číslo můžete použít funkci CInt nebo CLng. Pokud je zlomek menší než 0,5, funkce se zaokrouhlí dolů, pokud je zlomek větší nebo roven 0,5, funkce se zaokrouhlí nahoru. Následující kód převede řetězec na celé číslo:

1 MsgBox CInt ("7,55")

Výsledek je:

Následující kód používá funkci CLng k převodu řetězce na celé číslo:

1 MsgBox CLng ("13,5")

Výsledek je:

Poznámka: Pomocí funkce CInt nebo CLng můžete převést řetězec na celočíselné nebo dlouhé datové typy. Dlouhý datový typ je stejný jako celočíselný datový typ s tím, že jsou povolena větší čísla. V minulosti byl rozdíl vyžadován kvůli omezení paměti. V moderním programování není důvod nepoužívat dlouhý datový typ, protože paměť již není problém. Vždy je tedy lepší místo dlouhého čísla použít dlouhý datový typ.

V okně Okamžitě můžete zjistit, jak by byla hodnota zpracována, pokud by nebyla převedena na celé číslo:

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


Text bude obvykle uložen jako proměnná a tato proměnná bude muset být převedena na datový typ čísla, jak je uvedeno v níže uvedeném kódu:

1234567 Sub Using_Variables ()Dim valueOne As StringvalueOne = 5MsgBox CLng (valueOne) + CLng (valueOne)End Sub

Převést řetězec na desetinný

Pomocí funkce CDbl nebo CDec můžete převést řetězec na desetinné číslo. Následující kód by převedl řetězec na dvojitý datový typ:

1 MsgBox CDbl ("9.1819")

Výsledek je:

Následující kód by převedl řetězec na desítkový datový typ:

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

Výsledek je:

V okně Okamžitě můžete zjistit, jak by byla hodnota zpracována, pokud by nebyla převedena na datový typ s dvojitým nebo desetinným číslem:

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

Výsledek je:

Poznámka: Desetinný datový typ může ukládat větší čísla než dvojitý datový typ, takže je vždy vhodné použít desítkový datový typ, pokud si nejste jisti.

Převést řetězec na měnu

K převodu řetězce na měnu můžete použít funkci CCur. Následující kód převede řetězec na datový typ měny:

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

Výsledek je:

Vám pomůže rozvoji místa, sdílet stránku s přáteli

wave wave wave wave wave