Svaka funkcija prinudno izraz određenoj vrsta podatka.
Sintaksa
CBool( izraz )
CByte( izraz )
CCur( izraz )
CDate( izraz )
CDbl( izraz )
CDec( izraz )
CInt( izraz )
CLng( izraz )
CSng( izraz )
CStr( izraz )
CVar( izraz )
Traženi izrazargument bilo koji nizovni izraz ili numerički izraz.
Vrste povrata
Naziv funkcije određuje vrstu povrata kao što je prikazano u sljedećem:
Funkcija |
Vrsta povrata |
Raspon za argument izraza |
---|---|---|
CBool |
booleovski |
Bilo koji valjani niz ili brojčani izraz. |
CByte |
Bajt |
Od 0 do 255. |
CCur |
Valuta |
-922 337 203 685 477 5808 do 922 337 203 685 477 5807. |
CDate |
Datum |
Bilo koji valjani datumski izraz. |
CDbl |
Double |
-1.79769313486231E308 u -4.94065645841247E-324 za negativne vrijednosti; 4.94065645841247E-324 do 1,79769313486232E308 za pozitivne vrijednosti. |
CDec |
Decimalni |
+/-79 228 162 514 264 337 593 543 950 335 za brojeve s nultim skaliranjem, to jest, brojeve bez decimalnih mjesta. Za brojeve s 28 decimalnih mjesta raspon je +/-7.9228162514264337593543950335. Najmanji mogući broj različit od 0 jest 0,0000000000000000000000000001. |
CInt |
Cijeli broj |
-32 768 do 32 767; razlomci se zaokružuju. |
CLng |
Dugo |
-2 147 483 648 do 2 147 483 647; razlomci se zaokružuju. |
CSng |
Single |
-3,402823E38 do -1,401298E-45 za negativne vrijednosti; 1.401298E-45 do 3.402823E38 za pozitivne vrijednosti. |
CStr |
String |
Vraća za CStr ovisi o argumentu izraza. |
CVar |
Varijanta |
Isti raspon kao i Double za brojeve. Isti raspon kao i Niz za sve znakove koji nisu brojevi. |
Napomene
Ako je izraz proslijeđen funkciji izvan raspona vrste podataka koja se pretvara, pojavljuje se pogreška.
Općenito govoreći, kod možete dokument koristiti pomoću funkcija pretvorbe vrste podataka da biste prikazali da se rezultat neke operacije treba izraziti kao određene vrste podataka, a ne kao zadana vrsta podataka. Na primjer, koristite CCur da biste nametnuli aritmetičku valutu u slučajevima kada bi se obično događala aritmetika s jednom preciznošću, dvostrukom preciznošću ili cijelim brojevima.
Da biste omogućili pretvorbe iz jedne vrste podataka u drugu, koristite funkcije pretvorbe vrste podataka, a ne Val . Kada, primjerice, koristite CCur, različiti decimalni razdjelnici, različiti razdjelnici tisućica i razne mogućnosti valute pravilno se prepoznaju ovisno o postaci regionalne sheme računala.
Kada je decimalni dio točno 0,5, CInt i CLng uvijek ga zaokružuju na najbliži parni broj. Primjerice, 0,5 zaokružuje na 0, a 1,5 na 2. CInt i CLng razlikuju se od funkcija Fix i Int , koje skraćuje, a ne zaokružuju, decimalni dio broja. Osim toga, Popravak i Int uvijek vraćaju vrijednost iste vrste kao i proslijeđena.
Pomoću funkcije IsDate odredite može li se datum pretvoriti u datum ili vrijeme. CDate prepoznaje doslovne vrijednosti datuma i doslovne vrijednosti vremena, kao i neke brojeve koji se nalaze unutar raspona prihvatljivih datuma. Prilikom pretvaranja broja u datum cijeli se dio brojeva pretvara u datum. Bilo koji decimalni dio broja pretvara se u vrijeme u danu, počevši od ponoći.
CDate prepoznaje oblike datuma prema regionalne postavke postavke sustava. Točan redoslijed dana, mjeseca i godine možda se neće odrediti ako je naveden u obliku koji nije jedan od priznatih postavki datuma. Osim toga, dugi oblik datuma ne prepoznaje se ako sadrži i niz dana u tjednu.
Funkcija CVDate dostupna je i radi kompatibilnosti s prethodnim verzijama programa Visual Basic. Sintaksa funkcije CVDate identična je funkciji CDate, no CVDate vraća vrijednost Variant čija je podvrsta Datum, a ne stvarna vrsta datuma. Budući da sada postoji vrsta intrinznog datuma, više nema potrebe za CVDate. Isti se učinak može postići pretvaranjem izraza u datum, a zatim ga dodjeljivanjem varijanti. Ova tehnika je dosljedna pretvorbi svih drugih intrinznih vrsta u njihove ekvivalentne podvrste Variant .
Napomena: Funkcija CDec ne vraća diskretnu vrstu podataka; umjesto toga uvijek vraća vrijednost Variant čija je vrijednost pretvorena u decimalnu podvrstu .
Primjeri upita
Izraz |
Rezultati |
---|---|
SELECT ProdajaCijena,KonačnaCijena,CBool(ProdajaCijena>) AS Izraz1 IZ proizvodaProdaja; |
Vraća "SalePrice", "FinalPrice" i procjenjuje je li ProdajnaCijena veća od konačne cijene. Vraća "-1" ako je true i "0" ako je false. |
SELECT IDproizvoda, CByte(Količina) AS Izraz1 FROMproizvodProdaje; |
Vraća "IDproizvoda",pretvara vrijednosti u polju "Količina" u oblik bajtova i prikazuje u stupcu Izraz1 Vraća "IDProizvoda", pretvara vrijednosti u polju "Količina" u oblik valute i prikazuje u stupcu Izraz1. |
SELECT IDproizvoda, CDate(DateofSale) AS Izraz1 FROM proizvodProdajaProdaja; |
Vraća "IDProizvoda",pretvara vrijednosti u polju "DateofSale" u oblik Datuma i prikazuje u stupcu Izraz1. |
SELECT IDproizvoda, CDbl(Popust) AS Izraz1 FROM proizvodProdajaProdaja; |
Vraća "IDproizvoda",pretvara vrijednosti u polju "Popust" u dvostruki oblik i prikazuje u stupcu Izraz1. |
SELECT IDproizvoda, CInt(Popust) AS Izraz1 IZ proizvodaProdajaProdaja; |
Vraća "IDproizvoda",pretvara vrijednosti u polju "Popust" u oblik cijelog broja i prikazuje se u stupcu Izraz1. |
SELECT IDproizvoda, CLng(Popust) AS Izraz1 FROM proizvodProdajaProdaja; |
Vraća "IDproizvoda",pretvara vrijednosti u polju "Popust" u dugi oblik i prikazuje se u stupcu Izraz1. |
SELECT IDproizvoda, CSng(Popust) AS Izraz1 FROM proizvodProdajaProdaja; |
Vraća "IDproizvoda",pretvara vrijednosti u polju "Popust" u jedan oblik i prikazuje u stupcu Izraz1. |
SELECT IDproizvoda, CStr(Popust) KAO Izraz1 IZ proizvodaProdajaProdaja; |
Vraća "IDproizvoda",pretvara vrijednosti u polju "Popust" u oblik niza i prikazuje u izrazu stupca1. |
SELECT IDproizvoda, CVar(Popust) KAO Izraz1 IZ proizvodaProdaje; |
Vraća "IDproizvoda",pretvara vrijednosti u polju "Popust" u Double za brojčane vrijednosti i Niz za vrijednosti koje nisu numeričke. |
Primjeri VBA-a
Napomena: Primjeri koji slijede prikazuju korištenje te funkcije u modulu jezika Visual Basic for Applications (VBA). Dodatne informacije o radu s VBA-om potražite u članku Vba referenca za Access.
Funkcija CBool
U ovom se primjeru koristi funkcija CBool za pretvaranje izraza u Booleov izraz. Ako izraz daje vrijednost koja nije zero, CBool vraćaTrue; u suprotnom vraća 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.
Funkcija CByte
U ovom se primjeru koristi funkcija CByte za pretvaranje izraza u bajt.
Dim MyDouble, MyByte
MyDouble = 125.5678 ' MyDouble is a Double.
MyByte = CByte(MyDouble) ' MyByte contains 126.
Funkcija CCur
U ovom se primjeru koristi funkcija CCur za pretvaranje izraza u valutu.
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).
Funkcija CDate
U ovom se primjeru koristi funkcija CDate za pretvaranje niza u datum. Općenito govoreći, ne preporučuju se datumi i vremena kodiranja kao nizovi (kao što je prikazano u ovom primjeru). Umjesto toga koristite doslovne vrijednosti datuma i vremena, kao što su #12/12/1969# i #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)
Funkcija CDbl
U ovom se primjeru koristi funkcija CDbl za pretvaranje izraza u dvostruku vrijednost.
Dim MyCurr, MyDouble
MyCurr = CCur(234.456784)
' Convert result to a Double.
MyDouble = CDbl(MyCurr * 8.2 * 0.01)
Funkcija CDec
U ovom se primjeru funkcija CDec koristi za pretvaranje brojčane vrijednosti u decimalnu vrijednost.
Dim MyDecimal, MyCurr
MyCurr = 10000000.0587 ' MyCurr is a Currency.
MyDecimal = CDec(MyCurr) ' MyDecimal is a Decimal.
Funkcija CInt
U ovom se primjeru funkcija CInt koristi za pretvaranje vrijednosti u cijeli broj.
Dim MyDouble, MyInt
MyDouble = 2345.5678 ' MyDouble is a Double.
MyInt = CInt(MyDouble) ' MyInt contains 2346.
Funkcija CLng
U ovom se primjeru funkcija CLng koristi za pretvaranje vrijednosti u dugu vrijednost.
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.
Funkcija CSng
U ovom se primjeru funkcija CSng koristi za pretvaranje vrijednosti u jednostruko.
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.
Funkcija CStr
U ovom se primjeru funkcija CStr koristi za pretvaranje brojčane vrijednosti u niz.
Dim MyDouble, MyString
MyDouble = 437.324 ' MyDouble is a Double.
MyString = CStr(MyDouble)
' MyString contains "437.324".
Funkcija CVar
U ovom se primjeru koristi funkcija CVar za pretvaranje izraza u varijantu.
Dim MyInt, MyVar
MyInt = 4534 ' MyInt is an Integer.
MyVar = CVar(MyInt & "000")
' MyVar contains the string 4534000.