Vsaka funkcija pretvori izraz v določen podatkovni tip.
Sintaksa
CBool(expression)CByte(expression)CCur(expression)CDate(expression)CDbl(expression)CDec(expression)CInt(expression)CLng(expression)CSng(expression)CStr(expression)CVar(expression)
Zahtevani expression argument je poljuben niz ali številski izraz.
Tipi vrnitve
Ime funkcije določa tip vrnitve, kot je prikazano v tej tabeli:
| Funkcija | Tip vrnitve | Obseg za expression argument |
|---|---|---|
CBool |
Boolean |
Kateri koli veljaven niz ali številski izraz. |
CByte |
Byte |
0v .255 |
CCur |
Currency |
-922,337,203,685,477.5808v .922,337,203,685,477.5807 |
CDate |
Date |
Kateri koli veljaven izraz. |
CDbl |
Double |
-1.79769313486231E308 To -4.94065645841247E-324 za negativne vrednosti; 4.94065645841247E-324 To 1.79769313486232E308 za pozitivne vrednosti. |
CDec |
Decimal |
+/-79,228,162,514,264,337,593,543,950,335 za številke z ničelno skalo ali števila brez decimalnih mest. Za števila z decimalnimi 28 mesti je +/-7.9228162514264337593543950335obseg . Najmanjše možno, neničelno število je 0.0000000000000000000000000001. |
CInt |
Integer |
-32,768 Ulomki 32,767se zaokrožijo. |
CLng |
Long |
-2,147,483,648 Ulomki 2,147,483,647se zaokrožijo. |
CSng |
Single |
-3.402823E38 To -1.401298E-45 za negativne vrednosti; 1.401298E-45 To 3.402823E38 za pozitivne vrednosti. |
CStr |
String |
Vrnjena vrednost je odvisna od argumenta expression . |
CVar |
Variant |
Enak obseg kot Double številske vrednosti. Enak obseg kot String za neštevilske vrednosti. |
Opombe
Če je posredovano v expression funkcijo zunaj obsega vrste podatkov, v katero pretvarjate, pride do napake.
Na splošno lahko kodo dokumentirate s funkcijami za pretvorbo podatkovnih tipov, ki prikazujejo, da mora rezultat operacije uporabljati določen podatkovni tip namesto privzetega. Uporabite CCur jih na primer za izsiljevanje računanja valute v primerih, kjer bi običajno prišlo do računanja enojne natančnosti, dvojne natančnosti ali celega števila.
Namesto pretvorbe podatkovnega Val tipa uporabite funkcije za pretvorbo iz enega podatkovnega tipa v drugega, ki upoštevajo lokalno nastavitev. Ko na primer uporabite CCur, Access prepozna različna decimalna ločila, ločila za tisočice in možnosti za valuto glede na območne nastavitve računalnika.
Ko je decimalni del natanko 0.5, CInt in ga vedno zaokrožite CLng na najbližje sodo število. Zaokroži na primer 0.5 na 0, in 1.5 zaokroži na 2.
CInt in CLng se razlikujejo od funkcij and FixInt , ki neceli del števila prirežejo, namesto da bi ga zaokrožili.
Fix Poleg tega vedno Int vrne vrednost istega tipa, kot ste jo vnesli vi.
S funkcijo IsDate ugotovite, ali date je mogoče pretvoriti v datum ali čas.
CDate Prepozna datumske in časovne nize ter nekatere črke, ki so v obsegu sprejemljivih datumov. Ko pretvorite število v datum, del s celim številom postane datum. Vsak neceli del postane čas, ki se začne ob polnoči.
CDate Prepozna oblike datuma glede na območne nastavitve sistema. Access morda ne bo določil pravilnega vrstnega reda dneva, meseca in leta, če vnesete obliko zapisa, ki ni ena od prepoznanih nastavitev datuma. Poleg tega ne prepozna dolge oblike datuma, če vsebuje tudi niz dneva v tednu.
Funkcija CVDate je na voljo tudi za združljivost s starejšimi različicami programa Visual Basic. Sintaksa je enaka CVDate funkciji CDate . Vendar pa vrne podtip, CVDateVariant katerega podtip je Date namesto dejanskega Date podatkovnega tipa. Ker Access sedaj vključuje notranjo Date vrsto, ne potrebujete CVDateveč . Enak učinek lahko dosežete tako, da pretvorite izraz v »a Date « in ga nato dodelite znaku Variant. Ta tehnika je skladna s pretvorbo drugih notranjih tipov v njihove enakovredne Variant podtipe.
Opomba
Funkcija CDec ne vrne diskretnega podatkovnega tipa. Namesto tega vedno vrne vrednost A Variant , katerega vrednost je bila pretvorjena Decimal v podtip.
Primeri poizvedb
| Izraz | Rezultati |
|---|---|
SELECT SalePrice, FinalPrice, CBool(SalePrice > FinalPrice) AS Expr1 FROM productSales; |
Vrne SalePrice in FinalPrice, in oceni, ali SalePrice je večje od FinalPrice. Vrne -1 , če je resnična vrednost in 0 če je neresnična. |
SELECT ProductID, CByte(Quantity) AS Expr1 FROM productSales; |
Vrne ProductID, pretvori vrednosti v polju Quantity v Byte, in jih prikaže v stolpcu Expr1 . |
SELECT ProductID, CDate(DateofSale) AS Expr1 FROM productSales; |
Vrne ProductID, pretvori vrednosti v polju DateofSale v Date, in jih prikaže v stolpcu Expr1 . |
SELECT ProductID, CDbl(Discount) AS Expr1 FROM productSales; |
Vrne ProductID, pretvori vrednosti v polju Discount v Double, in jih prikaže v stolpcu Expr1 . |
SELECT ProductID, CInt(Discount) AS Expr1 FROM productSales; |
Vrne ProductID, pretvori vrednosti v polju Discount v Integer, in jih prikaže v stolpcu Expr1 . |
SELECT ProductID, CLng(Discount) AS Expr1 FROM productSales; |
Vrne ProductID, pretvori vrednosti v polju Discount v Long, in jih prikaže v stolpcu Expr1 . |
SELECT ProductID, CSng(Discount) AS Expr1 FROM productSales; |
Vrne ProductID, pretvori vrednosti v polju Discount v Single, in jih prikaže v stolpcu Expr1 . |
SELECT ProductID, CStr(Discount) AS Expr1 FROM productSales; |
Vrne ProductID, pretvori vrednosti v polju Discount v String, in jih prikaže v stolpcu Expr1 . |
SELECT ProductID, CVar(Discount) AS Expr1 FROM productSales; |
Vrne ProductID, pretvori številske Discount vrednosti v Double, neštevilske vrednosti pa v String. |
Primeri VBA
Opomba
Naslednji primeri prikazujejo, kako lahko to funkcijo uporabite v modulu VBA (Visual Basic for Applications). Če želite več informacij o delu z modulom VBA, glejte referenco za Access VBA.
Funkcija CBool
V tem primeru je uporabljena CBool funkcija za pretvorbo izraza v Boolean. Č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 CByte funkcija za pretvorbo izraza v Byte.
Dim MyDouble, MyByte
MyDouble = 125.5678 ' MyDouble is a Double.
MyByte = CByte(MyDouble) ' MyByte contains 126.
Funkcija CCur
V tem primeru je uporabljena CCur funkcija za pretvorbo izraza v 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).
Funkcija CDate
V tem primeru je uporabljena CDate funkcija za pretvorbo niza v Date. 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##4:45:23 PM#in , .
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 CDbl funkcija za pretvorbo izraza v Double.
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 CDec funkcija za pretvorbo številske vrednosti v Decimal.
Dim MyDecimal, MyCurr
MyCurr = 10000000.0587 ' MyCurr is a Currency.
MyDecimal = CDec(MyCurr) ' MyDecimal is a Decimal.
Funkcija CInt
V tem primeru je funkcija uporabljena CInt za pretvorbo vrednosti v Integer.
Dim MyDouble, MyInt
MyDouble = 2345.5678 ' MyDouble is a Double.
MyInt = CInt(MyDouble) ' MyInt contains 2346.
Funkcija CLng
V tem primeru je funkcija uporabljena CLng za pretvorbo vrednosti v 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.
Funkcija CSng
V tem primeru je funkcija uporabljena CSng za pretvorbo vrednosti v 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.
Funkcija CStr
V tem primeru je uporabljena CStr funkcija za pretvorbo številske vrednosti v String.
Dim MyDouble, MyString
MyDouble = 437.324 ' MyDouble is a Double.
MyString = CStr(MyDouble)
' MyString contains "437.324".
Funkcija CVar
V tem primeru je uporabljena CVar funkcija za pretvorbo izraza v Variant.
Dim MyInt, MyVar
MyInt = 4534 ' MyInt is an Integer.
MyVar = CVar(MyInt & "000")
' MyVar contains the string 4534000.