Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Číselnou hodnotu nebo Booleanhodnotu data a času můžete převést na Stringhodnotu . Můžete také převést v opačném směru — z řetězcové hodnoty na číselnou, Boolean, nebo Date — za předpokladu, že obsah řetězce lze interpretovat jako platnou hodnotu cílového datového typu. Pokud to nemohou udělat, dojde k chybě za běhu.
Převody pro všechna tato přiřazení v obou směrech jsou zužující převody. Měli byste použít klíčová slova převodu typu (CBool, CByte, CDate, CDbl, CDec, CInt, CLng, CSByte, CShort, CSng, CStr, CUInt, CULng, CUShort a CType).
Format a Val funkce vám poskytují další kontrolu nad převody mezi řetězci a čísly.
Pokud jste definovali třídu nebo strukturu, můžete definovat operátory převodu typů mezi String třídou nebo strukturou a typem třídy nebo struktury. Další informace naleznete v tématu Postupy: Definování operátoru převodu.
Převod čísel na řetězce
Pomocí funkce můžete Format převést číslo na formátovaný řetězec, který může obsahovat nejen příslušné číslice, ale také formátovací symboly, jako je symbol měny (například $), oddělovače tisíců nebo symboly seskupování číslic (například ,) a oddělovač desetinných míst (například .).
Format automaticky použije příslušné symboly podle nastavení Místní možnosti zadané v Ovládacích panelech Windows.
Všimněte si, že operátor zřetězení (&) může implicitně převést číslo na řetězec, jak ukazuje následující příklad.
' The following statement converts count to a String value.
Str = "The total count is " & count
Převod řetězců na čísla
Pomocí funkce můžete Val explicitně převést číslice v řetězci na číslo.
Val přečte řetězec, dokud nenarazí na jiný znak než číslice, mezera, tabulátor, spojnicový kanál nebo tečka. Sekvence "&O" a "&H" mění základ číselného systému a ukončí skenování. Dokud se čtení nezastaví, Val převede všechny příslušné znaky na číselnou hodnotu. Například následující příkaz vrátí hodnotu 141.825.
Val(" 14 1.825 miles")
Když Visual Basic převede řetězec na číselnou hodnotu, použije nastavení Místní možnosti zadané v Ovládacích panelech Windows k interpretaci oddělovače tisíců, oddělovače desetinných míst a symbol měny. To znamená, že převod může být úspěšný pod jedním nastavením, ale ne pod jiným. Je například "$14.20" přijatelný v anglickém národním prostředí (Spojené státy), ale ne v žádném francouzském národním prostředí.