Funkcie na konverziu typu údajov

Funkcie na konverziu typu údajov

Každá funkcia konvertuje výraz na určitý typ údajov.

Syntax

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ý výrazovýargument je ľubovoľný reťazcový výraz alebo numerický výraz.

Vrátené typy

Názov funkcie určuje vrátený typ podľa nasledovnej tabuľky:

Funkcia

Vrátený typ

Rozsah pre argument výrazu

CBool

Boolean

Ľubovoľný platný reťazcový alebo numerický výraz.

CByte

Byte

0 až 255.

CCur

Currency

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

CDate

Date

Ľubovoľný platný dátumový výraz.

CDbl

Double

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

CDec

Decimal

Od +/-79 228 162 514 264 337 593 543 950 335 z množiny celých čísel, teda čísel bez desatinných miest. Pre čísla s 28 desatinnými miestami je rozsah
+/-7,9228162514264337593543950335. Najmenšie možné číslo iné ako nula je 0,0000000000000000000000000001.

CInt

Integer

-32 768 až 32 767, zlomky sa zaokrúhľujú.

CLng

Long

-2 147 483 648 až 2 147 483 647, zlomky sa zaokrúhľujú.

CSng

Single

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

CStr

String

Vrátená hodnota pre funkciu CStr závisí od argumentu výrazu.

CVar

Variant

Rovnaký rozsah ako údajový typ Double pre numerické znaky. Rovnaký rozsah ako údajový typ String pre nenumerické znaky.

Poznámky

Ak sa pre funkciu zadá výraz mimo rozsahu údajového typu, na ktorý sa konvertuje, vyskytne sa chyba.

Svoj kód môžete vo všeobecnosti zdokumentovať prostredníctvom funkcií na konverziu údajových typov a ukázať tak, že výsledok určitej operácie by mal byť vyjadrený ako konkrétny údajový typ a nie ako predvolený údajový typ. Ak chcete napríklad presadiť použitie menovej aritmetiky v prípadoch, v ktorých sa zvyčajne používa aritmetika jednoduchej presnosti, dvojitej presnosti alebo celého čísla, použite funkciu CCur.

Funkcie na konverziu údajových typov by ste mali použiť namiesto funkcie Val, keď chcete poskytnúť konverziu jedného údajového typu na druhý s prihliadnutím na rozličnosť miestnych nastavení. Ak napríklad použijete funkciu CCur, táto správne rozpozná rôzne oddeľovače desatinných miest, oddeľovače tisícov a možnosti meny, ktoré závisia od miestnych nastavení počítača.

Keď má zlomková časť hodnotu presne 0,5, funkcie CInt a CLng vždy zaokrúhlia túto časť na najbližšie párne číslo. Číslo 0,5 sa napríklad zaokrúhli na číslo 0 a číslo 1,5 sa zaokrúhli na číslo 2. Funkcie CInt a CLng sa líšia od funkcií Fix a Int, ktoré zlomkovú časť čísla nezaokrúhľujú, ale odstraňujú. Funkcie Fix a Int okrem toho vždy vrátia hodnotu rovnakého typu, aký má aj vstupná hodnota.

Pomocou funkcie IsDate môžete určiť, či môže byť argument Date skonvertovaný na dátum alebo čas. Funkcia CDate rozpoznáva znakové reťazce dátumu a času, ako aj niektoré čísla, ktoré patria do rozsahu prijateľných dátumov. Pri konverzii čísla na dátum sa na dátum skonvertuje celočíselná časť čísla. Zlomková časť čísla sa skonvertuje na čas dňa, ktorý sa meria od polnoci.

CDate rozpozná formáty dátumu podľa nastavenia miestne nastavenie systému. Správny poradie v deň, mesiac a rok sa nemusí určiť, ak je k dispozícii vo formáte inom ako v niektorom z rozpoznaných nastavení dátumu. Dlhý formát dátumu sa okrem toho nerozpoznal, ak obsahuje aj reťazec deň v týždni.

Funkcia CVDate sa používa aj z dôvodu kompatibility s predchádzajúcimi verziami jazyka Visual Basic. Syntax funkcie CVDate je rovnaká ako syntax funkcie CDate, funkcia CVDate však vráti údajový typ Variant, ktorého podtyp je Date, a nie skutočný typ Date. Keďže teraz už existuje vnútorný typ Date, funkcia CVDate už nie je potrebná. Rovnaký efekt je možné dosiahnuť aj skonvertovaním výrazu na typ Date a jeho priradením k údajovému typu Variant. Táto technika je konzistentná s konverziou všetkých ostatných vnútorných typov na ich ekvivalentné podtypy údajového typu Variant.

Poznámka:  Funkcia CDec nevráti samostatný údajový typ, ale namiesto toho vždy vráti údajový typ Variant, ktorého hodnota bola skonvertovaná na podtyp Decimal.

Príklady dotazov

Výraz

Výsledky

Vyberte položku SalePrice, FinalPrice, CBool (SalePrice>FinalPrice) ako Expr1 od productSales;

Vráti hodnotu "SalePrice", "FinalPrice" a vyhodnotí, či SalePrice je väčšia ako konečná cena. Vráti hodnotu "-1" if True a "0" if FALSE.

Vyberte položku Identifikácia produktu, CByte (množstvo) ako Expr1 z productSales;

Vráti hodnotu "ProductID", skonvertuje hodnoty v poli množstvo na formát bajtov a zobrazí sa v stĺpci Expr1 vráti hodnotu "ProductID", skonvertuje hodnoty v poli množstvo na formát meny a zobrazí sa v stĺpci Expr1.

Vyberte položku ProductID, CDate (DateofSale) ako Expr1 z productSales;

Vráti hodnotu "ProductID", skonvertuje hodnoty v poli "DateofSale" na formát dátumu a zobrazí sa v stĺpci Expr1.

Vyberte položku ProductID, CDbl (zľava) ako Expr1 z productSales;

Vráti hodnotu "ProductID", skonvertuje hodnoty v poli zľava na dvojitý formát a zobrazí sa v stĺpci Expr1.

Vyberte položku ProductID, CInt (zľava) ako Expr1 z productSales;

Vráti hodnotu "ProductID", skonvertuje hodnoty v poli zľava na celočíselný formát a zobrazí sa v stĺpci Expr1.

Vyberte položku ProductID, CLng (zľava) ako Expr1 z productSales;

Vráti hodnotu "ProductID", skonvertuje hodnoty v poli zľava na dlhý formát a zobrazí sa v stĺpci Expr1.

Vyberte položku ProductID, CSng (zľava) ako Expr1 z productSales;

Vráti hodnotu "ProductID", skonvertuje hodnoty v poli zľava na jeden formát a zobrazí sa v stĺpci Expr1.

Vyberte položku ProductID, CStr (zľava) ako Expr1 z productSales;

Vráti hodnotu "ProductID", skonvertuje hodnoty v poli zľava na formát reťazca a zobrazí sa v stĺpci Expr1.

Vyberte položku ProductID, CVar (zľava) ako Expr1 z productSales;

Vráti hodnotu "ProductID", skonvertuje hodnoty v poli zľava na dvojnásobok pre číselné hodnoty a reťazec pre iné než číselné hodnoty.

Príklady jazyka VBA

Poznámka: Nasledujúce príklady ukazujú použitie tejto funkcie v module jazyka Visual Basic for Applications (VBA). Ak chcete získať ďalšie informácie o práci s jazykom VBA, vyberte z rozbaľovacieho zoznamu vedľa položky Hľadať možnosť Odkaz pre vývojára a do vyhľadávacieho poľa zadajte nejaké výrazy.

Funkcia CBool

Tip:  Zostavovač výrazov s technológiou IntelliSense, ktorý je k dispozícii v Accesse 2010 a novších verziách, vám pomôže správne zostaviť výrazy.

V tomto príklade sa používa funkcia CBool na konvertovanie výrazu na boolovskú hodnotu. Ak sa výraz vyhodnotí ako nenulová hodnota, CBool vráti hodnotu true; v opačnom prípade vráti 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.

Funkcia CByte

V tomto príklade sa používa funkcia CByte na skonvertovanie výrazu na hodnotu typu Byte.

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

Funkcia CCur

V tomto príklade sa používa funkcia CCur na skonvertovanie výrazu na hodnotu typu 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).

Funkcia CDate

V tomto príklade sa používa funkcia CDate na skonvertovanie reťazca na hodnotu typu Date. Dátumy a časy sa vo všeobecnosti neodporúča programovať ako reťazce (ako v tomto príklade). Používajte radšej dátumové a časové znaky, napríklad #2/12/1969# a #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)

Funkcia CDbl

V tomto príklade sa používa funkcia CDbl na skonvertovanie výrazu na hodnotu typu Double.

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

Funkcia CDec

V tomto príklade sa používa funkcia CDec na skonvertovanie numerickej hodnoty na hodnotu typu Decimal.

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

Funkcia CInt

V tomto príklade sa používa funkcia CInt na skonvertovanie hodnoty na hodnotu typu Integer.

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

Funkcia CLng

V tomto príklade sa používa funkcia CLng na skonvertovanie hodnoty na hodnotu typu 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.

Funkcia CSng

V tomto príklade sa používa funkcia CSng na skonvertovanie hodnoty na hodnotu typu 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.

Funkcia CStr

V tomto príklade sa používa funkcia CStr na skonvertovanie numerickej hodnoty na hodnotu typu String.

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

Funkcia CVar

V tomto príklade sa používa funkcia CVar na skonvertovanie výrazu na hodnotu typu Variant.

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

Poznámka:  Táto stránka bola preložená automaticky a môže obsahovať gramatické chyby alebo nepresnosti. Naším cieľom je, aby bol tento obsah pre vás užitočný. Môžete nám dať vedieť, či boli tieto informácie pre vás užitočné? Tu nájdete anglický článok ako referenciu.

Rozšírte svoje zručnosti práce s balíkom Office
Preskúmať školenie
Buďte medzi prvými, ktorí získajú nové funkcie
Pridajte sa k insiderom pre Office

Boli tieto informácie užitočné?

Ďakujeme za vaše pripomienky!

Ďakujeme vám za pripomienky. Pravdepodobne vám pomôže, ak vás spojíme s pracovníkom podpory pre Office.

×