Tipo konvertavimo funkcijos

Kiekviena funkcija išraiška į konkrečią duomenų tipas.

Sintaksė

CBool ( reiškinys)

CByte ( reiškinys)

CCur ( reiškinys)

CDate ( reiškinys)

CDbl ( reiškinys)

CDec ( reiškinys)

Cint ( reiškinys)

CLng ( reiškinys)

CSng ( reiškinys)

CStr ( reiškinys)

CVar ( reiškinys)

Būtinas reiškinys argumentas yra bet koks eilutės išraiška arba skaitinis reiškinys.

Grįžimo tipai

Funkcijos pavadinimas nustato grąžinimo tipą, kaip parodyta toliau:

Funkcija

Grąžinimo tipas

Intervalas reiškinys argumentas

CBool

bulio logika

Bet kurią galiojančią eilutę arba skaitinę išraišką.

CByte

Baitas

nuo 0 iki 255.

CCur

Valiuta

-922 337 203 685 477,5808 į 922 337 203 685 477,5807.

CDate

Data

Bet kuris galiojantis datos reiškinys.

CDbl

Dvigubas

-1.79769313486231 e308 to
-94065645841247e e-324 neigiamoms reikšmėms; 94065645841247e e-324 1.79769313486232 E308 teigiamoms reikšmėms.

CDec

Dešimtainis

+/-79228162514264337593543950335, skirtos nulinio mastelio numeriams, tai yra skaičiai be dešimtainių skilčių. Jei skaičius yra 28 dešimtainio skaičiaus vietos, intervalas
yra +/-7.9228162514264337593543950335. Mažiausias galimos nenulinis skaičius yra 0,0000000000000000000000000001.

CInt

Sveikasis skaičius

-32 768 į 32 767; trupmenos suapvalinamos.

CLng

Ilgai

-2 147 483 648 į 2 147 483 647; trupmenos suapvalinamos.

CSng

Viengubas

-3.402823 E38 to-1.401298 E-45 neigiamoms reikšmėms; 1.401298 e-45 3.402823 E38 teigiamoms reikšmėms.

CStr

Eilutė

CStr grąža priklauso nuo reiškinio argumento.

CVar

Variantą

Tas pats diapazonas kaip Dvigubas skaičių atveju. Tas pats diapazonas kaip Eilutė ne skaičių atveju.

Pastabos

Jei išraiška , perduota funkcijai, nepatenka į konvertuojamos į duomenų tipo intervalą, įvyksta klaida.

Paprastai galite dokumentuoti kodą naudodami duomenų tipo konvertavimo funkcijas, kad parodytumėte, jog kai kurios operacijos rezultatas turi būti išreikštas kaip konkretus duomenų tipas, o ne numatytasis duomenų tipas. Pvz., naudokite funkciją CCur , kad būtų galima atlikti valiutos aritmetinį vidurkį tais atvejais, kai paprastai pasitaiko viengubų tikslumo, dvigubo tikslumo ar sveikojo skaičiaus aritmetinio skaičiavimo.

Turėtumėte naudoti duomenų tipo konvertavimo funkcijas vietoj val , kad būtų pateikti tarptautiniu mastu žinomi vieno duomenų tipo konvertavimai į kitą. Pvz., naudojant CCur, skirtingi dešimtainiai skyrikliai, skirtingi tūkstančių skyrikliai ir įvairios valiutos parinktys yra tinkamai atpažįstamos atsižvelgiant į jūsų kompiuterio lokalės parametrą.

Kai trupmenos dalis yra tiksliai 0,5, Cint ir CLng visada apvalinama iki artimiausio lyginio skaičiaus. Pvz., 0,5 suapvalina iki 0, o 1,5 suapvalina iki 2. Cint ir CLng skiriasi nuo funkcijų Fix ir int , kurios sutrumpina, o ne apvalina, skaičiaus trupmeninę dalį. Be to, Taisyti ir int visada grąžina to paties tipo reikšmę, kaip perduodama.

Naudokite funkciją IsDate , kad nustatytumėte, ar data gali būti konvertuojama į datą ar laiką. Funkcija CDate atpažįsta datų literalus ir laiko literalus, taip pat kai kuriuos skaičius, patenkančias į leistinų datų intervalą. Konvertuojant skaičių į datą, visa skaičių dalis konvertuojama į datą. Bet kokia skaičiaus trupmeninė dalis konvertuojama į dienos laiką nuo vidurnakčio.

CDate atpažįsta datos formatus pagal jūsų sistemos lokalė parametrą. Teisinga dienos, mėnesio ir metų tvarka gali būti nenustatyta, jei ji pateikiama kitokiu formatu nei vienas iš pripažintų datos parametrų. Be to, ilgasis datos formatas neatpažįstamas, jei jame taip pat yra savaitės dienos eilutė.

Funkcija CVDate taip pat pateikiama suderinamumui su ankstesnėmis "Visual Basic" versijomis. Funkcijos CVDate sintaksė yra identiška funkcijai CDate , tačiau CVDate pateikia variantą , kurio potipis yra data , o ne faktinis datos tipas. Kadangi dabar nėra būdingo datos tipo, CVDatenėra poreikio. Tą patį efektą galima pasiekti konvertuojant reiškinį į datą ir priskiriant jį variantui. Šis metodas atitinka visų kitų vidinių tipų konvertavimą pagal jų lygiaverčius varianto potipius.

Pastaba:  Funkcija CDec negrąžina diskrečiųjų duomenų tipo; Vietoj to, jis visada pateikia variantą , kurio reikšmė buvo konvertuota į dešimtainį potipį.

Užklausos pavyzdžiai

Reiškinys

Rezultatai

Pasirinkite sale Price, FinalPrice, CBool (sale Price>FinalPrice) kaip Reiškinys1 iš productSales;

Grąžina "Saluprice", "galutinė kaina" ir įvertina, ar Saluprice yra didesnė nei galutinė kaina. Grąžina "-1", jei TRUE, ir "0", jei yra neteisinga.

Pasirinkite ProductID, CByte (kiekis) kaip Reiškinys1 iš productSales;

Grąžina "ProductID", konvertuoja reikšmes į lauką "kiekis" į baitų formatą ir rodo stulpelyje Reiškinys1 grąžina "ProductID", konvertuoja lauko "kiekis" reikšmes į valiutos formatą ir rodo stulpelyje Reiškinys1.

Pasirinkite ProductID, CDate (DateofSale) kaip Reiškinys1 iš productSales;

Grąžina reikšmę "ProductID", konvertuoja lauką "DateofSale" į datos formatą ir rodo stulpelių Reiškinys1.

Pasirinkite ProductID, CDbl (nuolaida) kaip Reiškinys1 iš productSales;

Grąžina "ProductID", konvertuoja lauko "Discount" reikšmes į dvigubų formatą ir rodo stulpelių Reiškinys1.

Pasirinkite ProductID, CInt (nuolaida) kaip Reiškinys1 iš productSales;

Grąžina "ProductID", konvertuoja lauko "Discount" reikšmes į sveikojo skaičiaus formatą ir rodo stulpelių Reiškinys1.

Pasirinkite ProductID, CLng (nuolaida) kaip Reiškinys1 iš productSales;

Grąžina "ProductID", konvertuoja lauko "Discount" reikšmes į Ilgąjį formatą ir rodo stulpelių Reiškinys1.

Pasirinkite ProductID, CSng (Discount) kaip Reiškinys1 iš productSales;

Grąžina "ProductID", konvertuoja lauko "Discount" reikšmes į vieną formatą ir rodo stulpelių Reiškinys1.

Pasirinkite ProductID, CStr (nuolaida) kaip Reiškinys1 iš productSales;

Grąžina "ProductID", konvertuoja lauko "Discount" reikšmes į eilutės formatą ir rodo stulpelių Reiškinys1.

Pasirinkite ProductID, CVar (nuolaida) kaip Reiškinys1 iš productSales;

Grąžina "ProductID", konvertuoja lauko "Discount" reikšmes į dvigubų skaičių reikšmes ir eilutę, skirtą neskaitinėms reikšmėms.

VBA pavyzdžiai

Pastaba: Pateiktuose pavyzdžiuose parodyta, kaip naudoti šią funkciją „Visual Basic for Applications“ (VBA) modulyje. Daugiau informacijos apie darbą su VBA rasite išplečiamajame sąraše pasirinkę Kūrėjų nuoroda (šalia Ieškos) ir ieškos lauke įvedę vieną ar daugiau sąlygų.

Funkcija CBool

Patarimas:  Reiškinio daryklė su "IntelliSense", prasidedančiu "Access 2010", padeda gauti jūsų reiškinius.

Šiame pavyzdyje funkcija CBool naudojama išraiškai konvertuoti į Bulio logikos. Jei reiškinio reikšmė yra ne nulis, funkcija CBool grąžina TRUE ( teisinga); Priešingu atveju, ji pateikia neteisingus.

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

Šiame pavyzdyje funkcija CByte naudojama išraiškai konvertuoti į baitą .

Dim MyDouble, MyByte
MyDouble = 125.5678 ' MyDouble is a Double.
MyByte = CByte(MyDouble) ' MyByte contains 126.

Funkcija CCur

Šiame pavyzdyje funkcija CCur naudojama išraiškai konvertuoti į valiutą.

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

Šiame pavyzdyje funkcija CDate naudojama eilutei konvertuoti į datą. Paprastai sunku užkoduoti datas ir laikus kaip eilutes (kaip parodyta šiame pavyzdyje) nerekomenduojama. Naudokite datų literalus ir laiko literalus, pvz., #2/12/1969 # ir #4:45:23 PM #, o ne.

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

Šiame pavyzdyje funkcija CDbl naudojama išraiškai konvertuoti į dvigubą.

Dim MyCurr, MyDouble
MyCurr = CCur(234.456784)
' Convert result to a Double.
MyDouble = CDbl(MyCurr * 8.2 * 0.01)

Funkcija CDec

Šiame pavyzdyje funkcija CDec naudojama skaitinei reikšmei konvertuoti į dešimtainį .

Dim MyDecimal, MyCurr
MyCurr = 10000000.0587 ' MyCurr is a Currency.
MyDecimal = CDec(MyCurr) ' MyDecimal is a Decimal.

Funkcija CInt

Šiame pavyzdyje funkcija Cint naudojama reikšmei konvertuoti į sveikąjį skaičių.

Dim MyDouble, MyInt
MyDouble = 2345.5678 ' MyDouble is a Double.
MyInt = CInt(MyDouble) ' MyInt contains 2346.

Funkcija CLng

Šiame pavyzdyje funkcija CLng naudojama reikšmei konvertuoti į ilgąją reikšmę .

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

Šiame pavyzdyje funkcija CSng naudojama reikšmei konvertuoti į vieną.

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

Šiame pavyzdyje funkcija CStr naudojama skaitinei reikšmei konvertuoti į eilutę.

Dim MyDouble, MyString
MyDouble = 437.324 ' MyDouble is a Double.
MyString = CStr(MyDouble)
' MyString contains "437.324".

Funkcija CVar

Šiame pavyzdyje funkcija CVar naudojama išraiškai konvertuoti į variantą.

Dim MyInt, MyVar
MyInt = 4534 ' MyInt is an Integer.
MyVar = CVar(MyInt & "000")
' MyVar contains the string 4534000.

Pastaba:  Šis puslapis išverstas automatiškai, todėl gali būti gramatikos klaidų ar netikslumų. Mūsų tikslas – padaryti, kad šis turinys būtų jums naudingas. Prašome mus informuoti, ar radote reikiamos informacijos. Čia yra straipsnis anglų kalba, kuriuo galite pasinaudoti kaip nuoroda.

Tobulinkite savo „Office“ įgūdžius
Ieškoti mokymo
Pirmiausia gaukite naujų funkcijų
Prisijunkite prie „Office Insider“ dalyvių

Ar ši informacija buvo naudinga?

Dėkojame už jūsų atsiliepimus!

Dėkojame už jūsų atsiliepimą! Panašu, kad gali būti naudinga jus sujungti su vienu iš mūsų „Office“ palaikymo agentų.

×