Katra funkcija konvertē izteiksmi noteiktā datu tipā.
Sintakse
CBool(expression)CByte(expression)CCur(expression)CDate(expression)CDbl(expression)CDec(expression)CInt(expression)CLng(expression)CSng(expression)CStr(expression)CVar(expression)
Obligātais expression arguments ir jebkura virknes vai skaitliska izteiksme.
Atgriešanas veidi
Funkcijas nosaukums nosaka atgriešanās tipu, kā parādīts tālāk esošajā tabulā:
| Funkcija | Atgriešanas tips | Argumenta diapazons expression |
|---|---|---|
CBool |
Boolean |
Jebkura derīga virknes vai skaitliska izteiksme. |
CByte |
Byte |
0 uz 255. |
CCur |
Currency |
-922,337,203,685,477.5808 uz 922,337,203,685,477.5807. |
CDate |
Date |
Jebkura derīga datuma izteiksme. |
CDbl |
Double |
-1.79769313486231E308 Uz -4.94065645841247E-324 negatīvām vērtībām; 4.94065645841247E-324 TO 1.79769313486232E308 pozitīvām vērtībām. |
CDec |
Decimal |
+/-79,228,162,514,264,337,593,543,950,335 Skaitļiem bez cipariem aiz komata. Skaitļiem ar 28 decimāldaļas vietām diapazons ir +/-7.9228162514264337593543950335. Mazākais iespējamais skaitlis, kas nav nulle, ir 0.0000000000000000000000000001. |
CInt |
Integer |
-32,768
32,767Līdz ; daļskaitļi tiek noapaļoti. |
CLng |
Long |
-2,147,483,648
2,147,483,647Līdz ; daļskaitļi tiek noapaļoti. |
CSng |
Single |
-3.402823E38 Uz -1.401298E-45 negatīvām vērtībām; 1.401298E-45 TO 3.402823E38 pozitīvām vērtībām. |
CStr |
String |
Atgrieztā vērtība ir atkarīga no argumenta expression . |
CVar |
Variant |
Identisks diapazons kā Double skaitliskajām vērtībām. Tāds pats diapazons kā vērtībām, kas String nav skaitliskas. |
Piezīmes
Ja expression nodotais funkcijai ir ārpus tā datu tipa diapazona, uz kuru konvertējat, rodas kļūda.
Parasti kodu var dokumentēt, izmantojot datu tipa konvertēšanas funkcijas, lai parādītu, ka darbības rezultātam ir jālieto noteikts datu tips, nevis noklusējuma tips. Piemēram, izmantojiet CCur , lai iestatītu valūtas aritmētiku gadījumos, kad parasti ir vienas precizitātes, dubultas precizitātes vai vesela skaitļa aritmētika.
Izmantojiet datu tipa konvertēšanas funkcijas, nevis Val lai nodrošinātu lokālu konvertēšanu no viena datu tipa uz citu. Piemēram, ja izmantojat CCur, Access atpazīst dažādus decimāldaļu atdalītājus, tūkstošu atdalītājus un valūtas opcijas, pamatojoties uz datora lokālajiem iestatījumiem.
Ja decimāldaļa ir precīzi 0.5, CInt un CLng vienmēr noapaļojiet to līdz tuvākajam pāra skaitlim. Piemēram, 0.5 noapaļo līdz 0un 1.5 noapaļo līdz 2.
CInt un CLng atšķiras no Fix funkcijām AND Int , kas skaitļa decimāldaļu saīsina, nevis noapaļo.
Fix Un Int arī vienmēr atgrieziet tāda paša tipa vērtību, ko nododat.
Izmantojiet IsDate šo funkciju, lai noteiktu, vai date to var konvertēt par datumu vai laiku.
CDate Atpazīst datuma un laika literāļus, kā arī dažus skaitļus, kas ietilpst pieņemamo datumu diapazonā. Pārvēršot skaitli par datumu, veselā skaitļa daļa kļūst par datumu. Jebkura daļa kļūst par diennakts laiku, kas sākas pusnaktī.
CDate Atpazīst datuma formātus saskaņā ar jūsu sistēmas lokālajiem iestatījumiem. Access var nenoteikt pareizo dienas, mēneša un gada secību, ja norādāt citu formātu, nevis kādu no atpazītajiem datuma iestatījumiem. Turklāt tas neatpazīst garo datuma formātu, ja tajā ir arī nedēļas dienas virkne.
Šī CVDate funkcija ir pieejama arī saderībai ar agrākām Visual Basic versijām. Funkcijas CVDate sintakse ir identiska CDate . Tomēr CVDate atgriež kura Variant apakštips ir Date nevis faktiskais Date tips. Tā kā programmā Access tagad ir iekļauts iebūvētais Date tips, jums vairs nav nepieciešams CVDate. To pašu efektu varat panākt, pārvēršot izteiksmi par a Date un pēc tam piešķirot tai .Variant Šī metode atbilst citu iekšējo tipu pārvēršanai to ekvivalentos Variant apakštipos.
Piezīme
Funkcija CDec neatgriež diskrētu datu tipu. Tā vietā tā vienmēr atgriež vērtību Variant , kuras vērtība ir konvertēta par Decimal apakštipu.
Vaicājumu piemēri
| Izteiksme | Rezultāti |
|---|---|
SELECT SalePrice, FinalPrice, CBool(SalePrice > FinalPrice) AS Expr1 FROM productSales; |
Atgriež SalePrice un FinalPriceun novērtē, vai SalePrice ir lielāks par FinalPrice. Atgriež, -1 ja tas ir patiess un ja tas ir 0 aplams. |
SELECT ProductID, CByte(Quantity) AS Expr1 FROM productSales; |
Atgriež ProductID, konvertē vērtības Bytelaukā Quantity par un parāda tās Expr1 kolonnā. |
SELECT ProductID, CDate(DateofSale) AS Expr1 FROM productSales; |
Atgriež ProductID, konvertē vērtības Datelaukā DateofSale par un parāda tās Expr1 kolonnā. |
SELECT ProductID, CDbl(Discount) AS Expr1 FROM productSales; |
Atgriež ProductID, konvertē vērtības Doublelaukā Discount par un parāda tās Expr1 kolonnā. |
SELECT ProductID, CInt(Discount) AS Expr1 FROM productSales; |
Atgriež ProductID, konvertē vērtības Integerlaukā Discount par un parāda tās Expr1 kolonnā. |
SELECT ProductID, CLng(Discount) AS Expr1 FROM productSales; |
Atgriež ProductID, konvertē vērtības Longlaukā Discount par un parāda tās Expr1 kolonnā. |
SELECT ProductID, CSng(Discount) AS Expr1 FROM productSales; |
Atgriež ProductID, konvertē vērtības Singlelaukā Discount par un parāda tās Expr1 kolonnā. |
SELECT ProductID, CStr(Discount) AS Expr1 FROM productSales; |
Atgriež ProductID, konvertē vērtības Stringlaukā Discount par un parāda tās Expr1 kolonnā. |
SELECT ProductID, CVar(Discount) AS Expr1 FROM productSales; |
Atgriež ProductID, konvertē skaitliskās Discount vērtības Doublepar un konvertē neskaitliskas vērtības par String. |
VBA piemēri
Piezīme
Nākamajos piemēros ir parādīts, kā izmantot šo funkciju Visual Basic for Applications (VBA) modulī. Papildinformāciju par darbu ar VBA skatiet Access VBA atsaucē.
Funkcija CBool
Šajā piemērā funkcija tiek CBool izmantota, lai izteiksmi pārvērstu Booleanpar . Ja izteiksme tiek novērtēta ar vērtību, kas nav nulle, atgriežTrue; CBool pretējā gadījumā tā atgriež 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
Šajā piemērā funkcija tiek CByte izmantota, lai izteiksmi pārvērstu Bytepar .
Dim MyDouble, MyByte
MyDouble = 125.5678 ' MyDouble is a Double.
MyByte = CByte(MyDouble) ' MyByte contains 126.
Funkcija CCur
Šajā piemērā funkcija tiek CCur izmantota, lai izteiksmi pārvērstu Currencypar .
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
Šajā piemērā funkcija tiek CDate izmantota virknes Datepārvēršanai par . Nav ieteicams iekodēt datumus un laikus kā virknes, kā parādīts šajā piemērā. Lietojiet datuma literāļus un laika literāļus, piemēram #2/12/1969# , un #4:45:23 PM#, tā vietā.
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
Šajā piemērā funkcija tiek CDbl izmantota, lai izteiksmi pārvērstu Doublepar .
Dim MyCurr, MyDouble
MyCurr = CCur(234.456784)
' Convert result to a Double.
MyDouble = CDbl(MyCurr * 8.2 * 0.01)
Funkcija CDec
Šajā piemērā funkcija tiek CDec izmantota, lai skaitlisku vērtību pārvērstu par Decimal.
Dim MyDecimal, MyCurr
MyCurr = 10000000.0587 ' MyCurr is a Currency.
MyDecimal = CDec(MyCurr) ' MyDecimal is a Decimal.
Funkcija CInt
Šajā piemērā funkcija tiek CInt izmantota, lai vērtību pārvērstu Integerpar .
Dim MyDouble, MyInt
MyDouble = 2345.5678 ' MyDouble is a Double.
MyInt = CInt(MyDouble) ' MyInt contains 2346.
Funkcija CLng
Šajā piemērā funkcija tiek izmantota CLng , lai vērtību pārvērstu Longpar .
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
Šajā piemērā funkcija tiek izmantota CSng , lai vērtību pārvērstu Singlepar .
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
Šajā piemērā funkcija tiek CStr izmantota, lai skaitlisku vērtību pārvērstu par String.
Dim MyDouble, MyString
MyDouble = 437.324 ' MyDouble is a Double.
MyString = CStr(MyDouble)
' MyString contains "437.324".
Funkcija CVar
Šajā piemērā funkcija tiek CVar izmantota, lai izteiksmi pārvērstu Variantpar .
Dim MyInt, MyVar
MyInt = 4534 ' MyInt is an Integer.
MyVar = CVar(MyInt & "000")
' MyVar contains the string 4534000.