Katra funkcija izteiksme noteiktu datu tips.
Sintakse
CBool( izteiksme )
CByte( izteiksme )
CCur( izteiksme )
CDate( izteiksme )
CDbl( izteiksme )
CDec( izteiksme )
CInt( izteiksme )
CLng( izteiksme )
CSng( izteiksme )
CStr( izteiksme )
CVar( izteiksme )
Nepieciešamā izteiksme arguments jebkura virknes izteiksme vai skaitliska izteiksme.
Atgriešanas tipi
Funkcijas nosaukums nosaka atgriešanas tipu, kā parādīts tālāk:
Funkcija |
Atgriešanas tips |
Izteiksmes argumenta diapazons |
---|---|---|
CBool |
Būla izteiksme |
Jebkura derīga virknes vai skaitliska izteiksme. |
CByte |
Baits |
no 0 līdz 255. |
CCur |
Valūta |
-922 337 203 685 477,5808 līdz 922 337 203 685 477,5807. |
CDate |
Datums |
Jebkura derīga datuma izteiksme. |
CDbl |
Double |
-1,79769313486231E308 līdz -4,94065645841247E-324 negatīvām vērtībām; 4,94065645841247E-324 līdz 1,79769313486232E308 pozitīvām vērtībām. |
CDec |
Pēc decimālzīmes. |
+/-79 228 162 514 264 337 593 543 950 335 nulles mērogotiem skaitļiem, t.i., skaitļiem bez decimāldaļas vietām. 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 |
Vesels skaitlis |
-32 768 līdz 32 767; daļskaitļi tiek noapaļoti. |
CLng |
Long |
-2 147 483 648 līdz 2 147 483 647; daļskaitļi tiek noapaļoti. |
CSng |
Single |
-3,402823E38 līdz -1,401298E-45 negatīvām vērtībām; 1,401298E-45 līdz 3.402823E38 pozitīvām vērtībām. |
CStr |
Virkne |
CStr atgriešana ir atkarīga no izteiksmes argumenta. |
CVar |
Variants |
Identisks skaitļu diapazons kā Double. Identisks diapazons kā String vērtībām, kas nav skaitļi. |
Piezīmes
Ja funkcijai nodotā izteiksme atrodas ārpus tā datu tipa diapazona, uz kuru tiek konvertēts, rodas kļūda.
Parasti kodu var dokumentēt, izmantojot datu tipa konvertēšanas funkcijas, lai parādītu, ka dažas darbības rezultāts ir jāizsaka kā noteikts datu tips, nevis noklusējuma datu tips. Piemēram, izmantojiet CCur , lai valūtas aritmētiskos uzsūtu gadījumos, kad var notikt vienas precizitātes, dubultas precizitātes vai vesela skaitļa aritmētiska parasti.
Izmantojiet datu tipa konvertēšanas funkcijas, nevis Val, lai nodrošinātu starptautiskus datus konvertēšanai no viena datu tipa uz citu. Piemēram, ja izmantojat CCur, dažādi decimāldaļu atdalītāji, dažādi tūkstošu atdalītāji un dažādas valūtas opcijas tiek pareizi atpazītas atkarībā no datora lokalizācijas iestatījuma.
Ja decimāldaļa ir tieši 0,5, CInt un CLng vienmēr noapaļo to līdz tuvākajam pāra skaitlim. Piemēram, 0,5 noapaļo līdz 0 un 1,5 noapaļo līdz 2. CInt un CLng atšķiras no funkcijas Fix un Int , kas saīsina skaitļa decimāldaļu, nevis noapaļo. Turklāt Fix un Int vienmēr atgriež tāda paša tipa vērtību, ar kādu tiek nodots.
Izmantojiet funkciju IsDate , lai noteiktu , vai datumu var konvertēt par datumu vai laiku. CDate atpazīst datuma literāļus un laika literāļus, kā arī dažus skaitļus, kas atrodas pieņemamo datumu diapazonā. Konvertējot skaitli par datumu, visa skaitļa daļa tiek pārvērsta par datumu. Jebkura skaitļa daļa bez daļas tiek pārvērsta par dienas laiku, sākot no pusnakts.
CDate atpazīst datumu formātus atbilstoši lokalizācija sistēmas iestatījumam. Pareizo dienu, mēnešu un gadu secību nevar noteikt, ja tas ir nodrošināts citā formātā, nevis kādā no atpazīto datumu iestatījumiem. Turklāt garš datuma formāts netiek atpazīts, ja tajā ir arī nedēļas dienas virkne.
CvDate funkcija ir paredzēta arī, lai nodrošinātu saderību ar iepriekšējām Visual Basic versijām. Funkcijas CVDate sintakse ir identiska funkcijai CDate , taču CVDate atgriež Variant vērtību, kuras apakštips ir Datums , nevis faktiskais datuma tips. Tā kā tagad ir pieejams ābola datuma tips, CVDate vairs nav nepieciešams. To pašu efektu var panākt, pārveidojot izteiksmi par datumu un pēc tam piešķirot to variantam. Šī metode ir konsekventa, jo visi pārējie varianta tipi atbilst to ekvivalentajiem Variant apakštipiem.
Piezīme.: Funkcija CDec neatgriež diskrētu datu tipu; tā vietā tā vienmēr atgriež Variant vērtību, kuras vērtība ir konvertēta par decimāldaļu apakštipu.
Vaicājumu piemēri
Izteiksme |
Rezultāti |
---|---|
SELECT SalePrice,FinalPrice,CBool(SalePrice>FinalPrice) AS Expr1 FROM productSales; |
Atgriež "PārdošanasCena", "BeiguCena" un novērtē, ja PārdošanasCena ir lielāka par galīgo cenu. Atgriež "-1", ja patiess, un "0", ja patiess. |
SELECT ProductID, CByte(Quantity) AS Expr1 FROM productSales; |
Atgriež "Produkta_ID", konvertē lauka "Daudzums" vērtības baitu formātā un parāda kolonnā Expr1 atgriež "Produkta_ID", konvertē lauka "Daudzums" vērtības par Valūtas formātu un tiek parādītas kolonnā Expr1. |
SELECT ProductID, CDate(DateofSale) AS Expr1 FROM productSales; |
Atgriež "Produkta_ID",konvertē vērtības laukā "Datums_par datumu" datuma formātā un tiek parādītas kolonnā Izteiksme1. |
SELECT ProductID, CDbl(Discount) AS Expr1 FROM productSales; |
Atgriež "Produkta_ID", konvertē laukā "Atlaide" esošās vērtības dubultajā formātā un tiek parādītas kolonnā Expr1. |
SELECT ProductID, CInt(Discount) AS Expr1 FROM productSales; |
Atgriež "ProductID", konvertē laukā "Discount" esošās vērtības vesela skaitļa formātā un tiek parādītas kolonnā Expr1. |
SELECT ProductID, CLng(Atlaide) AS Expr1 FROM productSales; |
Atgriež "Produkta_ID", konvertē laukā "Atlaide" esošās vērtības long formātā un tiek parādītas kolonnā Expr1. |
SELECT ProductID, CSng(Discount) AS Expr1 FROM productSales; |
Atgriež "Produkta_ID", konvertē laukā "Atlaide" esošās vērtības vienā formātā un tiek parādītas kolonnā Expr1. |
SELECT ProductID, CStr(Discount) AS Expr1 FROM productSales; |
Atgriež "Produkta_ID", konvertē laukā "Atlaide" esošās vērtības par Virknes formātu un tiek parādītas kolonnā Expr1. |
SELECT ProductID, CVar(Discount) AS Expr1 FROM productSales; |
Atgriež "ProductID", konvertē lauka "Discount" vērtības par Double skaitliskām vērtībām un String vērtībām, kas nav skaitliskas. |
VBA piemēri
Piezīme.: Turpmākajos piemēros redzama šīs funkcijas izmantošana Visual Basic for Applications (VBA) modulī. Papildinformāciju par darbu ar VBA skatiet rakstā Access VBA atsauce.
Funkcija CBool
Šajā piemērā izmantota funkcija CBool , lai izteiksmi pārvērstu par Būla vērtību. Ja izteiksmes vērtība tiek novērtēta ar vērtību, kas nav nulle, CBool atgriež True; 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ā izmantota funkcija CByte, lai izteiksmi konvertētu par Byte.
Dim MyDouble, MyByte
MyDouble = 125.5678 ' MyDouble is a Double.
MyByte = CByte(MyDouble) ' MyByte contains 126.
Funkcija CCur
Šajā piemērā izmantota funkcija CCur , lai izteiksmi konvertētu par valūtu.
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ā tiek izmantota funkcija CDate , lai pārvērstu virkni par datumu. Parasti nav ieteicams iekodēt datumus un laikus kā virknes (kā parādīts šajā piemērā). Tā vietā izmantojiet datuma literāļus un laika literāļus, piemēram, #2/12/1969# and #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
Šajā piemērā izmantota funkcija CDbl , lai izteiksmi konvertētu par Double.
Dim MyCurr, MyDouble
MyCurr = CCur(234.456784)
' Convert result to a Double.
MyDouble = CDbl(MyCurr * 8.2 * 0.01)
Funkcija CDec
Šajā piemērā izmantota funkcija CDec , lai skaitlisku vērtību pārvērstu par decimālu skaitli.
Dim MyDecimal, MyCurr
MyCurr = 10000000.0587 ' MyCurr is a Currency.
MyDecimal = CDec(MyCurr) ' MyDecimal is a Decimal.
Funkcija CInt
Šajā piemērā izmantota funkcija CInt , lai vērtību pārvērstu par veselu skaitli.
Dim MyDouble, MyInt
MyDouble = 2345.5678 ' MyDouble is a Double.
MyInt = CInt(MyDouble) ' MyInt contains 2346.
Funkcija CLng
Šajā piemērā izmantota funkcija CLng , lai vērtību pārvērstu par 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
Šajā piemērā ir izmantota funkcija CSng, lai vērtību pārvērstu par vienu.
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ā tiek izmantota CStr funkcija, lai skaitlisku vērtību pārvērstu par virkni.
Dim MyDouble, MyString
MyDouble = 437.324 ' MyDouble is a Double.
MyString = CStr(MyDouble)
' MyString contains "437.324".
Funkcija CVar
Šajā piemērā izmantota funkcija CVar , lai izteiksmi konvertētu par Variant.
Dim MyInt, MyVar
MyInt = 4534 ' MyInt is an Integer.
MyVar = CVar(MyInt & "000")
' MyVar contains the string 4534000.