Tüübiteisendusfunktsioonid

Iga funktsiooni coerces avaldis , et teatud andmetüüp.

Süntaks

CBool( avaldis )

CByte( avaldis )

CCur( avaldis )

CDate( avaldis )

CDbl( avaldis )

CDec( avaldis )

CInt( avaldis )

CLng( avaldis )

CSng( avaldis )

CStr( avaldis )

CVar( avaldis )

Nõutav argument avaldis on suvaline stringavaldis või arvuline avaldis.

Tagastustüübid

Funktsiooni nimi määratleb tagastustüübi järgmiselt.

Funktsioon

Tagastustüüp

Argumendi expression vahemik

CBool

Kahendmuutuja

Suvaline sobiv string või arvavaldis.

CByte

Bait

0–255.

CCur

Valuuta

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

CDate

Kuupäev

Mis tahes sobiv kuupäevaavaldis.

CDbl

Topelttäpsusega arv

-1,79769313486231E308 kuni
-4,94065645841247E-324 negatiivsete ja 4,94065645841247E-324 kuni 1,79769313486232E308 positiivsete väärtuste korral.

CDec

Kümnendarv

+/-79 228 162 514 264 337 593 543 950 335 komakohtadeta arvudega. 28 komakohaga arvudega on vahemik
+/-7,9228162514264337593543950335. Väikseim võimalik nullist erinev arv on 0,0000000000000000000000000001.

CInt

Täisarv

-32 768 kuni 32 767; kümnendmurrud ümardatakse.

CLng

Pikk

-2 147 483 648 kuni 2 147 483 647; kümnendmurrud ümardatakse.

CSng

Lihttäpsusega arv

-3,402823E38 kuni -1,401298E-45 negatiivsete ja 1,401298E-45 kuni 3,402823E38 positiivsete väärtuste korral.

CStr

String

Funktsiooni CStr tagastustüüp sõltub argumendist expression.

CVar

Variant

Arvväärtuste korral tüübi Topelttäpsusega arv vahemik. Mittearvuliste väärtuste korral tüübi String vahemik.

Kommentaarid

Kui funktsioonile edastatud avaldis jääb väljapoole selle andmetüübi vahemikku, millesse teisendatakse, ilmneb tõrge.

Andmetüübiteisendusfunktsioonide abil saate dokumenteerida koodi ja määrata, et teatud toimingute tulemid väljendatakse kindla andmetüübi, mitte vaikeandmetüübina. Näiteks saate funktsiooni CCur abil käivitada valuutaarvutused juhtudel, kus tavaliselt kasutatakse ühese täpsusega, topelttäpsusega või täisarvulisi arvutusi.

Kui soovite ühe andmetüübi teisendamisel teiseks andmetüübiks kasutada rahvusvaheliselt tunnustatud teisendusi, on funktsiooni Val asemel soovitatav kasutada andmetüübiteisendusfunktsioone. Näiteks funktsiooni CCur kasutamisel tuvastatakse erinevad kümnenderaldajad, tuhandeliste eraldajad ja valuutasuvandid vastavalt arvuti piirkonnasätetele õigesti.

Kui murdosa on täpselt 0,5, ümardavad funktsioonid CInt ja CLng selle lähima paarisarvuni. Näiteks ümardatakse murd 0,5 arvuks 0 ja 1,5 arvuks 2. Funktsioonid CInt ja CLng erinevad funktsioonidest Fix ja Int, mille korral arvu murdosa ei ümardata, vaid kärbitakse. Lisaks sellele tagastavad funktsioonid Fix ja Int alati edastatud väärtusega sama tüüpi väärtuse.

Funktsiooni IsDate abil saate kindlaks määrata, kas argumendi date saab kuupäevaks või kellaajaks teisendada. Funktsioon CDate tuvastab nii kuupäeva- ja kellaajaliteraalid kui ka sobivate kuupäevade vahemikku jäävad arvud. Arvu teisendamisel kuupäevaks teisendatakse kuupäevaks kogu arvuosa. Arvu murdosa teisendatakse päeva ajaks, alustades arvestust keskööst.

Funktsioon CDate tuvastab kuupäevavormingud vastavalt süsteemi sättele lokaat. Funktsioon ei pruugi ära tunda päeva, kuu ja aasta õiget järjestust juhul, kui see on esitatud tuvastatavatest kuupäevavormingu sätetest erinevas vormingus. Lisaks sellele ei pruugita ära tunda nädalapäeva stringi sisaldavat pikka kuupäevavormingut.

Funktsioon CVDate ühildub ka Visual Basicu varasemate versioonidega. Funktsioonide CVDate ja CDate süntaksid on küll identsed, kuid funktsioon CVDate tagastab tegeliku tüübi Kuupäev asemel variandi, mille alamtüüp on Kuupäev. Tänu sisetüübi Kuupäev olemasolule pole funktsiooni CVDate enam vaja. Sama tulemuse annab avaldise teisendamine tüübiks Kuupäev ja selle sidumine variandiga. See vastab ka kõigi teiste sisetüüpide teisendamisele alamtüübi Variant ekvivalendiks.

Märkus.:  Funktsioon CDec ei tagasta diskreetset andmetüüpi, vaid tagastab alati variandi , mille väärtus on teisendatud alamtüübiks Kümnendarv.

Päringu näited

Avaldis

Tulemid

Valige SalePrice,FinalPrice,CBool(SalePrice>FinalPrice) AS Avaldis1 kaudu productSales;

Tagastab "SalePrice", "FinalPrice" ja hindab kui SalePrice on suurem kui lõpliku hinna. Tagastab "-1" kui väärtus on true ja "0", kui väärtus on false.

Valige ProductID CByte(Quantity) AS Avaldis1 kaudu productSales;

Tagastab "Toote ID", teisendab baiti "Kogus" välja väärtused ja kuvab veeru Avaldis1 tagastab "Toote ID", "Kogus" välja väärtused teisendatakse valuutavormingu ja kuvab veerus Avaldis1.

Valige ProductID CDate(DateofSale) AS Avaldis1 kaudu productSales;

Annab vastuseks "Toote ID", "DateofSale" välja väärtused teisendab kuupäevavormingu ja kuvatakse veerus Avaldis1.

Valige ProductID CDbl(Discount) AS Avaldis1 kaudu productSales;

Annab vastuseks "Toote ID", "Diskonto" välja väärtused teisendab kahekordsete vorming ja kuvatakse veerus Avaldis1.

Valige ProductID CInt(Discount) AS Avaldis1 kaudu productSales;

Annab vastuseks "Toote ID", "Diskonto" välja väärtused teisendab täisarvu vorming ja kuvatakse veerus Avaldis1.

Valige ProductID CLng(Discount) AS Avaldis1 kaudu productSales;

Annab vastuseks "Toote ID", teisendab pikas vormingus "Diskonto" välja väärtused ja kuvatakse veerus Avaldis1.

Valige ProductID CSng(Discount) AS Avaldis1 kaudu productSales;

Annab vastuseks "Toote ID", "Diskonto" välja väärtused teisendab ühe vorming ja kuvatakse veerus Avaldis1.

Valige ProductID CStr(Discount) AS Avaldis1 kaudu productSales;

Annab vastuseks "Toote ID", "Diskonto" välja väärtused teisendab stringi vorming ja kuvatakse veerus Avaldis1.

Valige ProductID CVar(Discount) AS Avaldis1 kaudu productSales;

Annab vastuseks "Toote ID", teisendab arvväärtused ja stringi kahekordne "Allahindlus" välja väärtuste jaoks mitte-arvväärtused.

VBA näited

Märkus.: Järgmised näited kujutavad selle funktsiooni kasutamist rakenduse Visual Basic for Applications (VBA) moodulis. Lisateabe saamiseks VBA-ga töötamise kohta valige välja Otsing kõrval kuvatavast ripploendist väärtus Tootearendusmaterjal ja sisestage otsinguväljale üks või mitu sõna.

Funktsioon CBool

Näpunäide.:  Access 2010 IntelliSense’iga avaldisekoostur aitab avaldised õigesti koostada.

Selles näites kasutatakse funktsiooni CBool teisendada avaldis on kahendväärtus. Kui avaldise tulem on nullist erinev väärtus, CBool tagastab väärtuse True; Vastasel korral tagastab väärtuse 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.

Funktsioon CByte

Näites kasutatakse funktsiooni CByte avaldise teisendamiseks tüübiks Bait.

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

Funktsioon CCur

Näites kasutatakse funktsiooni CCur avaldise teisendamiseks tüübiks Valuuta.

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).

Funktsioon CDate

Näites kasutatakse funktsiooni CDate stringi teisendamiseks kuupäevaks. Üldiselt ei ole soovitatav kasutada stringidena püsiprogrammeeritud kuupäevi ja kellaaegu (nagu näites). Kasutage selle asemel kuupäeva- ja kellaajaliteraale (nt #2/12/1969# ja #4:45:23 PL#).

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)

Funktsioon CDbl

Näites kasutatakse funktsiooni CDbl avaldise teisendamiseks tüübiks Topelttäpsusega arv.

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

Funktsioon CDec

Näites kasutatakse funktsiooni CDec arvväärtuse teisendamiseks tüübiks Kümnendarv.

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

Funktsioon CInt

Näites kasutatakse funktsiooni CInt väärtuse teisendamiseks tüübiks Täisarv.

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

Funktsioon CLng

Näites kasutatakse funktsiooni CLng väärtuse teisendamiseks tüübiks Pikk.

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.

Funktsioon CSng

Näites kasutatakse funktsiooni CSng väärtuse teisendamiseks tüübiks Lihttäpsusega arv.

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.

Funktsioon CStr

Näites kasutatakse funktsiooni CStr arvväärtuse teisendamiseks tüübiks String.

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

Funktsioon CVar

Näites kasutatakse funktsiooni CVar avaldise teisendamiseks tüübiks Variant.

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

Märkus.:  See leht on tõlgitud automaatselt ning sellel võib leiduda grammatikavigu ja ebatäpsusi. Tahame, et sellest sisust oleks teile abi. Andke meile teada, kui see teave oli teile abiks. Soovi korral saate ingliskeelset artiklit lugeda siit.​

Täiendage Office'i kasutamise oskusi
Tutvuge koolitusmaterjalidega
Kasutage uusi funktsioone enne teisi
Liituge Office Insideri programmiga

Kas sellest teabest oli abi?

Täname tagasiside eest!

Täname tagasiside eest! Tundub, et võiksime teid kokku viia ühega meie Office'i tugiagentidest, kes aitab teil probleemi lahendada.

×