Funkce pro převody typu

Důležité :  Tento článek je strojově přeložený – přečtěte si toto upozornění. Anglickou verzi tohoto článku pro referenci najdete tady.

Každá funkce převede Výraz na určitý Datový typ.

Syntaxe

CBool( výraz )

CByte( výraz )

CCur( výraz )

CDate( výraz )

CDbl( výraz )

CDec( výraz )

CInt( výraz )

CLng( výraz )

CSng( výraz )

CStr( výraz )

CVar( výraz )

Požadovaný Argumentvýraz je buď Řetězcový výraz, nebo Číselný výraz.

Vrácené datové typy

Název funkce určuje vrácený datový typ, který je uvedený v následující tabulce:

Funkce

Vrácený datový typ

Rozsah argumentu výraz

CBool

Boolean

Libovolný platný řetězec nebo číselný výraz.

CByte

Byte

0 až 255.

CCur

Currency

-922 337 203 685 477,5808 až 922 337 203 685 477,5807.

CDate

Date

Libovolný platný výraz odpovídající datu.

CDbl

Double

-1,79769313486231E308 až
-4,94065645841247E-324 pro záporné hodnoty; 4,94065645841247E-324 až 1,79769313486232E308 pro kladné hodnoty.

CDec

Decimal

+/-79 228 162 514 264 337 593 543 950 335 pro čísla bez desetinných míst. Pro čísla s 28 desetinnými místy je rozsah
+/-7,9228162514264337593543950335. Nejmenší možné nenulové číslo je 0,0000000000000000000000000001.

CInt

Integer

-32 768 až 32 767; desetinná čísla se zaokrouhlí.

CLng

Long

-2 147 483 648 až 2 147 483 647; desetinná čísla se zaokrouhlí.

CSng

Single

-3,402823E38 až -1,401298E-45 pro záporné hodnoty; 1,401298E-45 až 3,402823E38 pro kladné hodnoty.

CStr

String

Vrácený datový typ závisí na argumentu výraz.

CVar

Variant

Pro číselné hodnoty je rozsah stejný jako u typu Double. Pro jiné než číselné hodnoty je rozsah stejný jako u typu String.


Poznámky

Pokud výraz předaný funkci neleží v intervalu cílového datového typu, na který ho převádíte, dojde k chybě.

Obecně platí, že při psaní kódu můžete používat funkce pro převod datových typů k zobrazení výsledku operace jako určitého datového typu místo výchozího datového typu. Můžete třeba použít CCur k vynucení měnových výpočtů v těch případech, kde byste normálně použili aritmetické výpočty s přesností na jedno nebo dvě desetinná místa, případně bez desetinných míst (integer).

Funkce pro převod datových typů byste měli používat místo funkce Val, abyste zajistili mezinárodně platné převody datových typů. Například když použijete CCur, budou správně rozpoznány různé oddělovače desetinných míst, různé oddělovače tisíců a různé možnosti symbolů měny podle nastavení národního prostředí v počítači.

Pokud část za desetinnou čárkou přesně odpovídá 0,5, zaokrouhlí funkce CInt a CLng hodnotu vždy na nejbližší sudé číslo. Například 0,5 se zaokrouhlí na 0 a 1,5 se zaokrouhlí na 2. Funkce CInt a CLng se liší od funkcí Fix a Int, které část čísla za desetinnou čárkou místo zaokrouhlení zkrátí. Funkce Fix a Int vrátí vždy stejný typ hodnoty, jaký jim byl předán.

Funkce IsDate umožňuje zjistit, jestli se dá datum převést na datum nebo čas. Funkce CDate rozpozná literály typu datum a čas a také některá čísla, která spadají do intervalu povolených kalendářních dat. Při převodu čísla na datum se na datum převádí celočíselná část. Desetinná část čísla se převádí na denní čas (počínaje půlnocí).

Funkce CDate rozpozná formáty data podle nastavení národního prostředí v systému. Pořadí dne, měsíce a roku nemusí být rozeznané správně, pokud má jiný formát než některé z rozpoznaných nastavení data. Rozpoznat se nedá ani dlouhý formát data, pokud obsahuje řetězec odpovídající dni v týdnu.

Funkce CVDate je poskytovaná kvůli kompatibilitě s předchozími verzemi Visual Basicu. Syntaxe funkce CVDate je stejná jako funkce CDate. Liší se jen v tom, že funkce CVDate vrátí typ Variant, který má podtyp Date, místo skutečného typu Date. Skutečný datový typ Date už existuje, a proto není funkce CVDate potřeba. Stejného výsledku dosáhnete, když výraz převedete na typ Date a následně ho přiřadíte typu Variant. Tato technika je vhodná pro převod všech dalších skutečných datových typů na odpovídající podtypy Variant.

Poznámka :  Funkce CDec nevrátí diskrétní datový typ, ale vždy vrátí typ Variant, jehož hodnota byla převedena na podtyp Decimal.

Příklady

Poznámka : Následující příklady ukazují použití této funkce v modulu VBA (Visual Basic pro Applications). Pokud chcete další informace o práci s modulem VBA, vyberte Referenční informace pro vývojáře, které najdete v rozevíracím seznamu vedle položky Hledat a do vyhledávacího pole napište požadované pojmy.

Funkce CBool

Tip :  Se správnou formulací výrazů vám pomůže Tvůrce výrazů s funkcí IntelliSense v Accessu 2010.

V tomto příkladu se funkce CBool použije k převodu výrazu na datový typ Boolean. Pokud je výraz vyhodnocený jako nenulová hodnota, vrátí funkce CBool hodnotu True, jinak vrátí hodnotu False.

Dim A, B, Check
A = 5: B = 5 ' Initialize variables.
Check = CBool(A = B) ' Check contains True.
A = 0 ' Define variable.
Check = CBool(A) ' Check contains False.

Funkce CByte

V tomto příkladu se funkce CByte použije k převodu výrazu na datový typ Byte.

Dim MyDouble, MyByte
MyDouble = 125.5678 ' MyDouble is a Double.
MyByte = CByte(MyDouble) ' MyByte contains 126.

Funkce CCur

V tomto příkladu se funkce CCur použije k převodu výrazu na datový typ Currency.

Dim MyDouble, MyCurr
MyDouble = 543.214588 ' MyDouble is a Double.
MyCurr = CCur(MyDouble * 2)
' Convert result of MyDouble * 2 (1086.429176) to a
' Currency (1086.4292).

Funkce CDate

V tomto příkladu se funkce CDate použije k převodu řetězce na datový typ Date. Obecně se nedoporučuje programovat data a časy jako řetězce (viz tento příklad). Raději použijte literály typu datum a čas, třeba #2/12/1969# nebo #4:45:23 PM#.

Dim MyDate, MyShortDate, MyTime, MyShortTime
MyDate = "February 12, 1969"
' Convert to Date data type.
MyShortDate = CDate(MyDate)
MyTime = "4:35:47 PM"
' Convert to Date data type.
MyShortTime = CDate(MyTime)

Funkce CDbl

V tomto příkladu se funkce CDbl použije k převodu výrazu na datový typ Double.

Dim MyCurr, MyDouble
MyCurr = CCur(234.456784)
' Convert result to a Double.
MyDouble = CDbl(MyCurr * 8.2 * 0.01)

Funkce CDec

V tomto příkladu se funkce CDec použije k převodu číselné hodnoty na datový typ Decimal.

Dim MyDecimal, MyCurr
MyCurr = 10000000.0587 ' MyCurr is a Currency.
MyDecimal = CDec(MyCurr) ' MyDecimal is a Decimal.

Funkce CInt

V tomto příkladu se funkce CInt použije k převodu hodnoty na datový typ Integer.

Dim MyDouble, MyInt
MyDouble = 2345.5678 ' MyDouble is a Double.
MyInt = CInt(MyDouble) ' MyInt contains 2346.

Funkce CLng

V tomto příkladu se funkce CLng použije k převodu hodnoty na datový typ Long.

Dim MyVal1, MyVal2, MyLong1, MyLong2
MyVal1 = 25427.45
MyVal2 = 25427.55 ' MyVal1, MyVal2 are Doubles.
MyLong1 = CLng(MyVal1)
' MyLong1 contains 25427.
MyLong2 = CLng(MyVal2)
' MyLong2 contains 25428.

Funkce CSng

V tomto příkladu se funkce CSng použije k převodu hodnoty na datový typ Single.

Dim MyDouble1, MyDouble2, MySingle1, MySingle2
' MyDouble1, MyDouble2 are Doubles.
MyDouble1 = 75.3421115: MyDouble2 = 75.3421555
MySingle1 = CSng(MyDouble1)
' MySingle1 contains 75.34211.
MySingle2 = CSng(MyDouble2)
' MySingle2 contains 75.34216.

Funkce CStr

V tomto příkladu se funkce CStr použije k převodu číselné hodnoty na datový typ String.

Dim MyDouble, MyString
MyDouble = 437.324 ' MyDouble is a Double.
MyString = CStr(MyDouble)
' MyString contains "437.324".

Funkce CVar

V tomto příkladu se funkce CVar použije k převodu výrazu na datový typ Variant.

Dim MyInt, MyVar
MyInt = 4534 ' MyInt is an Integer.
MyVar = CVar(MyInt & "000")
' MyVar contains the string 4534000.

Poznámka : Upozornění ke strojovému překladu: Tento článek přeložil počítačový systém bez zásahu člověka. Společnost Microsoft nabízí tyto strojové překlady proto, aby umožnila uživatelům, kteří nemluví anglicky, získat informace o produktech, službách a technologiích této společnosti. Protože je tento článek strojově přeložený, může obsahovat slovní, syntaktické nebo gramatické chyby.

Rozšiřte své znalosti a dovednosti
Projít školení
Získejte nové funkce jako první
Připojte se k účastníkům programu Office Insiders

Byly tyto informace užitečné?

Děkujeme vám za zpětnou vazbu.

Děkujeme vám za váš názor. Vypadá to, že bude užitečné, když vás spojíme s některým z našich agentů z podpory Office.

×