Vsaka funkcija vsili izraz na določen podatkovni tip.
Sintaksa
CBool( izraz )
CByte( izraz )
CCur( izraz )
CDate( izraz )
CDbl( izraz )
CDec( izraz )
CInt( izraz )
CLng( izraz )
CSng( izraz )
CStr( izraz )
CVar( izraz )
Zahtevani izrazargument je kateri koli izraz niza ali številski izraz.
Tipi vrnitve
Ime funkcije določa tip vrnitve, kot je prikazano spodaj:
Funkcija |
Tip vrnitve |
Obseg za argument izraza |
---|---|---|
CBool |
Logična vrednost |
Kateri koli veljaven niz ali številski izraz. |
CByte |
Bajt |
od 0 do 255. |
CCur |
Valuta |
-922,337,203,685,477.5808 do 922,337,203,685,477.5807. |
CDate |
Datum |
Kateri koli veljaven izraz datuma. |
CDbl |
Dvojno |
-1.79769313486231E308 za -4.94065645841247E-324 za negativne vrednosti; 4.94065645841247E-324 do 1.79769313486232E308 za pozitivne vrednosti. |
CDec |
Desetiško |
+/-79,228,162,514,264,337,593,543,950,335 za števila z ničelno velikostjo, to je števila brez decimalnih mest. Za števila z 28 decimalnimi mesti je obseg +/-7.9228162514264337593543950335. Najmanjše možno neničelno število je 0,000000000000000000000000000000000001. |
CInt |
Cela števila |
-32,768 do 32,767; ulomki se zaokrožijo. |
CLng |
Dolgo |
-2,147,483,648 do 2,147,483,647; ulomki se zaokrožijo. |
CSng |
Enojno |
-3.402823E38 to -1.401298E-45 za negativne vrednosti; 1.401298E-45 to 3.402823E38 za pozitivne vrednosti. |
CStr |
Niz |
Vrne za CStr glede na argument izraza. |
CVar |
Različica |
Enak obseg kot ga ima izraz Dvojnoza števila. Enak obseg kot Niz za neštevila. |
Opombe
Če je izraz, podan v funkciji, zunaj obsega podatkovnega tipa, ki se pretvarja, pride do napake.
Na splošno lahko kodo dokumentirate s funkcijami za pretvorbo podatkovnih tipov in prikažete, da mora biti rezultat neke operacije izražen kot določen podatkovni tip, namesto kot privzeti podatkovni tip. Uporabite na primer funkcijo CCur, da izsilite računanje valute v primerih, kjer bi običajno prišlo do računanja enojne natančnosti, dvojne natančnosti ali celega števila.
Uporabite funkcije za pretvorbo podatkovnega tipa namesto funkcije Val, da zagotovite mednarodne značilnosti pretvorbe iz enega podatkovnega tipa v drugega. Na primer, ko uporabite funkcijo CCur, se ustrezno prepoznajo različna decimalna ločila, različna ločila za tisočice in druge možnosti za valuto glede na področne nastavitve računalnika.
Ko je neceli del natančno 0,5, ga funkciji CInt in CLng vedno zaokrožita na najbližje sodo število. Na primer, 0,5 se zaokroži na 0, 1,5 pa na 2. Funkciji CInt in CLng se razlikujeta od funkcij Fix in Int, ki neceli del števila prej prirezujeta kot zaokrožujeta. Poleg tega funkciji Fix in Int vedno vrneta vrednost istega tipa kot je bila podana.
Uporabite funkcijo IsDate, da ugotovite, ali je datum mogoče pretvoriti v datum ali čas. Funkcija CDate prepozna datumske in časovne nize ter nekatere črke, ki so v obsegu sprejemljivih datumov. Ko pretvorite število v datum, se del s celim številom pretvori v datum. Neceli del števila se pretvori v čas z začetkom ob polnoči.
CDate prepozna oblike datuma v skladu z mesto vašega sistema. Pravilen vrstni red dni, mesecev in let ni določen, če je naveden v drugi obliki zapisa, kot je ena od prepoznanih nastavitev datuma. Poleg tega dolga oblika zapisa datuma ni prepoznana, če vsebuje tudi niz »dan v tednu«.
Funkcija CVDate je na voljo tudi za združljivost s prejšnjimi različicami programa Visual Basic. Sintaksa funkcije CVDate je enaka funkciji CDate, pri čemer CVDate vrne Različico, katere podtip je Datum, namesto dejanskega tipa Datum. Ker je zdaj na voljo notranji podatkovni tip Datum, funkcija CVDate ni več potrebna. Enak učinek je mogoče doseči tako, da izraz pretvorite v Datum in ga nato dodelite Različici. Ta postopek je skladen s pretvorbo vseh drugih notranjih tipov v enakovredne podtipe Različice.
Opomba: Funkcija CDec ne vrne ločenega podatkovnega tipa; namesto tega vedno vrne Različico, katere vrednost je bila pretvorjena v podtip Desetiško.
Primeri poizvedb
Izraz |
Rezultati |
---|---|
SELECT SalePrice,FinalPrice,CBool(SalePrice>FinalPrice) AS Expr1 FROM productSales; |
Vrne »CenaProdaje«, »KončnaCena« in oceni, ali je cenaProdaje večja od končne cene. Vrne »-1«, če je vrednost »true« in »0«, če je argument »false«. |
SELECT ProductID, CByte(Quantity) AS Expr1 FROM productSales; |
Vrne »IDizdelka«, pretvori vrednosti v polju »Količina« v bajte in prikaže v stolpcu Expr1 Vrne »IDizdelka«, pretvori vrednosti v polju »Količina« v obliko »Valuta« in je prikazan v stolpcu Expr1. |
SELECT ProductID, CDate(DateofSale) AS Expr1 FROM ProductSales; |
Vrne »IDizdelka«, pretvori vrednosti v polju »DateofSale« v obliko datuma in prikaže v stolpcu Expr1. |
SELECT ProductID, CDbl(Discount) AS Expr1 FROM productSales; |
Vrne »IDizdelka«, pretvori vrednosti v polju »Popust« v dvojno obliko in prikaže v stolpcu Expr1. |
SELECT ProductID, CInt(Discount) AS Expr1 FROM ProductSales; |
Vrne »IDizdelka«, pretvori vrednosti v polju »Popust« v obliko celega števila in prikaže v stolpcu Expr1. |
SELECT ProductID, CLng(Discount) AS Expr1 FROM productSales; |
Vrne »IDizdelka«, pretvori vrednosti v polju »Popust« v dolgo obliko in prikaže v stolpcu Expr1. |
SELECT ProductID, CSng(Discount) AS Expr1 FROM productSales; |
Vrne »IDizdelka«, pretvori vrednosti v polju »Popust« v eno obliko in prikaže v stolpcu Expr1. |
SELECT ProductID, CStr(Discount) AS Expr1 FROM ProductSales; |
Vrne »IDizdelka«, pretvori vrednosti v polju »Popust« v obliko zapisa Niz in prikaže v stolpcu Expr1. |
SELECT ProductID, CVar(Discount) AS Expr1 FROM productSales; |
Vrne »IDizdelka«, pretvori vrednosti v polju »Popust« v dvojno za številske vrednosti in Niz za neštevilske vrednosti. |
Primeri VBA
Opomba: V spodnjih primerih je prikazana uporaba te funkcije v modulu Visual Basic for Applications (VBA). Če želite več informacij o delu s kodo VBA, glejte Referenca za Access VBA.
Funkcija CBool
V tem primeru je uporabljena funkcija CBool za pretvorbo izraza v logično vrednost. Če je izraz ovrednoten kot neničelna vrednost CBool vrne True; v nasprotnem primeru vrne 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
V tem primeru je uporabljena funkcija CByte za pretvorbo izraza v bajt.
Dim MyDouble, MyByte
MyDouble = 125.5678 ' MyDouble is a Double.
MyByte = CByte(MyDouble) ' MyByte contains 126.
Funkcija CCur
V tem primeru je uporabljena funkcija CCur za pretvorbo izraza v valuto.
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
V tem primeru je uporabljena funkcija CDate za pretvorbo niza v datum. Na splošno zakodiranje datumov in časa kot nizov (kot je prikazano v tem primeru) ni priporočeno. Namesto tega uporabite datumske in časovne nize, na primer #2/12/1969 # in #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
V tem primeru je uporabljena funkcija CDbl za pretvorbo izraza v dvojno.
Dim MyCurr, MyDouble
MyCurr = CCur(234.456784)
' Convert result to a Double.
MyDouble = CDbl(MyCurr * 8.2 * 0.01)
Funkcija CDec
V tem primeru je uporabljena funkcija CDec za pretvorbo številske vrednosti v desetiško.
Dim MyDecimal, MyCurr
MyCurr = 10000000.0587 ' MyCurr is a Currency.
MyDecimal = CDec(MyCurr) ' MyDecimal is a Decimal.
Funkcija CInt
V tem primeru je uporabljena funkcija CInt a pretvorbo vrednosti v celo število.
Dim MyDouble, MyInt
MyDouble = 2345.5678 ' MyDouble is a Double.
MyInt = CInt(MyDouble) ' MyInt contains 2346.
Funkcija CLng
V tem primeru je uporabljena funkcija CLng a pretvorbo vrednosti v dolgo.
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
V tem primeru je uporabljena funkcija CSng a pretvorbo vrednosti v enojno.
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
V tem primeru je uporabljena funkcija CStr za pretvorbo številske vrednosti v niz.
Dim MyDouble, MyString
MyDouble = 437.324 ' MyDouble is a Double.
MyString = CStr(MyDouble)
' MyString contains "437.324".
Funkcija CVar
V tem primeru je uporabljena funkcija CVar za pretvorbo izraza v različico.
Dim MyInt, MyVar
MyInt = 4534 ' MyInt is an Integer.
MyVar = CVar(MyInt & "000")
' MyVar contains the string 4534000.