Katra funkcija pārveido izteiksmi noteiktā datu tipā.
Sintakse
CBool(izteiksme)
CByte(izteiksme)
CCur(izteiksme)
CDate(izteiksme)
CDbl(izteiksme)
CDec(izteiksme)
CInt(izteiksme)
CLng(izteiksme)
CSng(izteiksme)
CStr(izteiksme)
CVar(izteiksme)
Nepieciešamais izteiksmesarguments ir jebkura virknes izteiksme vai skaitliska izteiksme.
Atgriešanas veidi
Funkcijas nosaukums nosaka atgriešanās tipu, kā parādīts tālāk:
| Funkcija | Atgriešanas tips | Izteiksmju diapazona arguments |
|---|---|---|
| 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 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 | Vesels skaitlis | -32,768 līdz 32,767; Daļskaitļi tiek noapaļoti. |
| CLng | Garš | -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šanās 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 ir ārpus konvertētā datu tipa diapazona, rodas kļūda.
Parasti kodu var dokumentēt, izmantojot datu tipa konvertēšanas funkcijas, lai parādītu, ka kādas darbības rezultāts ir jāizsaka kā konkrēts datu tips, nevis noklusējuma datu tips. Piemēram, izmantojiet CCur , lai iestatītu valūtas aritmētiku gadījumos, kad parasti notiek vienas precizitātes, dubultas precizitātes vai vesela skaitļa aritmētika.
Izmantojiet datu tipa konvertēšanas funkcijas, nevis Val , lai nodrošinātu starptautiski zināmu konvertēšanu no viena datu tipa uz citu. Piemēram, izmantojot CCur, atkarībā no datora lokālajiem iestatījumiem pareizi tiek atpazīti dažādi decimāldaļu atdalītāji, dažādi tūkstošu atdalītāji un dažādas valūtas opcijas.
Ja decimāldaļa ir precīzi 0,5, CInt un CLng to vienmēr noapaļo līdz tuvākajam pāra skaitlim. Piemēram, 0,5 noapaļo līdz 0, bet 1,5 noapaļo līdz 2. CInt un CLng atšķiras no funkcijām Fix un Int , kuras skaitļa decimāldaļu nevis noapaļo, nevis apcērt. Turklāt Fix un Int vienmēr atgriež tā paša tipa vērtību, kas nodota.
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 ietilpst pieņemamo datumu diapazonā. Konvertējot skaitli par datumu, veselā skaitļa daļa tiek pārvērsta par datumu. Jebkura skaitļa daļa tiek pārvērsta par diennakts laiku, sākot no pusnakts.
CDate atpazīst datuma formātus atbilstoši jūsu sistēmas lokālajiem iestatījumiem. Pareizo dienu, mēneša un gada secību var nenoteikt, ja tā ir norādīta citā formātā, nevis vienā no atpazītajiem datuma iestatījumiem. Turklāt garais datuma formāts netiek atpazīts, ja tajā ir arī nedēļas dienas virkne.
Ir nodrošināta arī CVDate funkcija saderībai ar iepriekšējām Visual Basic versijām. Funkcijas CVDate sintakse ir identiska funkcijas CDate sintaksei, tomēr CVDate atgriež variantu , kura apakštips ir Datums , nevis faktiskais datuma tips. Tā kā tagad ir raksturīgs datuma tips, CVDate vairs nav nepieciešams. To pašu efektu var panākt, pārvēršot izteiksmi par datumu un pēc tam piešķirot tai variantu. Šī metode atbilst visu pārējo iekšējo tipu pārvēršanai to ekvivalentajos variantu apakštipos.
Piezīme
Funkcija CDec neatgriež diskrētu datu tipu; tā vietā tā vienmēr atgriež Variant , kura vērtība ir konvertēta par decimāldaļskaitļa apakštipu.
Vaicājumu piemēri
| Izteiksme | Rezultāti |
|---|---|
| SELECT SalePrice,FinalPrice,CBool(SalePrice>FinalPrice) AS Expr1 FROM productSales; | Atgriež "SalePrice", "FinalPrice" un novērtē, vai SalePrice ir lielāka par galīgo cenu. Atgriež "-1", ja patiess, un "0", ja ir aplams. |
| SELECT ProductID, CByte(daudzums) AS Expr1 FROM productSales; | Atgriež "ProduktaID", konvertē lauka "Daudzums" vērtības baitu formātā un parāda kolonnā Expr1 Atgriež "ProduktaID", konvertē vērtības laukā "Daudzums" valūtas formātā un parāda kolonnas Expr1. |
| SELECT ProductID, CDate(DateofSale) AS Expr1 FROM productSales; | Atgriež "Produkta_ID", konvertē vērtības laukā "Pārdošanas datums" datuma formātā un parāda kolonnas Expr1. |
| SELECT ProductID, CDbl(Discount) AS Expr1 FROM productSales; | Atgriež "Produkta_ID", konvertē vērtības laukā "Atlaide" dubultformātā un parāda kolonnas Izteiksme1. |
| SELECT ProductID, CInt(Discount) AS Expr1 FROM productSales; | Atgriež "ProduktaID", konvertē vērtības laukā "Atlaide" veselu skaitļu formātā un parāda kolonnas Expr1. |
| SELECT ProductID, CLng(Discount) AS Expr1 FROM productSales; | Atgriež "ProduktaID", konvertē vērtības laukā "Atlaide" garajā formātā un parāda kolonnā Expr1. |
| SELECT ProductID, CSng(Discount) AS Expr1 FROM productSales; | Atgriež "Produkta_ID", konvertē vērtības laukā "Atlaide" vienfaila formātā un parāda kolonnas Izteiksme1. |
| SELECT ProductID, CStr(Discount) AS Expr1 FROM productSales; | Atgriež "ProduktaID", konvertē vērtības laukā "Atlaide" virknes formātā un parāda kolonnas Expr1. |
| SELECT ProductID, CVar(Discount) AS Expr1 FROM productSales; | Atgriež "ProduktaID", konvertē vērtības laukā "Atlaide" par Double skaitliskām vērtībām un virkni 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 Access VBA atsaucē.
Funkcija CBool
Šajā piemērā izmantota funkcija CBool , lai izteiksmi pārvērstu par Būla vērtību. Ja izteiksme tiek novērtēta ar vērtību, kas nav nulle, CBool atgriež True; pretējā gadījumā tā atgriež vērtību 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 pārvērstu par baitu.
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 pārvērstu 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 virkni konvertētu par datumu. Nav ieteicams datumus un laikus iekodēt kā virknes (kā parādīts šajā piemērā). Tā vietā izmantojiet datuma un laika literāļus, piemēram, #2/12/1969# un #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 pārvērstu par dubultvērtību.
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 vērtību.
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 garu vērtību.
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ā 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ā izmantota funkcija CStr , 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 pārveidotu izteiksmi par Variant.
Dim MyInt, MyVar
MyInt = 4534 ' MyInt is an Integer.
MyVar = CVar(MyInt & "000")
' MyVar contains the string 4534000.