Tyyppimuuntofunktiot

Kukin funktio pakottaa lauseken tiettyyn tietotyyppieen.

Syntaksi

CBool( expression )

CByte( expression )

CCur( expression )

CDate( expression )

CDbl( expression )

CDec( expression )

CInt( expression )

CLng( expression )

CSng( expression )

CStr( expression )

CVar( expression )

Pakollinen expressionargumentti-argumentti on mikä tahansa merkkijonolauseke tai numeerinen lauseke.

Palautustyypit

Funktion nimi määrää palautustypin seuraavasti:

Funktio

Palautustyyppi

Alue expression -argumentille

CBool

Totuusarvo

Mikä tahansa kelvollinen merkkijono tai numeerinen lauseke.

CByte

Tavu

0–255.

CCur

Valuutta

-922,337,203,685,477.5808– 922,337,203,685,477.5807.

CDate

Päivämäärä

Mikä tahansa kelvollinen päivämäärälauseke.

CDbl

Double-tietotyyppi

-1,79769313486231E308–
-4,94065645841247E-324 negatiivisille arvoille; 4,94065645841247E-324–1,79769313486232E308 positiivisille arvoille.

CDec

Desimaali

+/-79 228 162 514 264 337 593 543 950 335 pyöristetyille numeroille eli numeroille, joissa ei ole desimaalipaikkoja. Jos numeroissa on 28 desimaalipaikkaa, alue on
+/-7,9228162514264337593543950335. Pienin mahdollinen nollasta poikkeava numero on 0,0000000000000000000000000001.

CInt

Kokonaisluku

-32,768–32 767; murtoluvut pyöristetään.

CLng

Pitkä

-2,147,483,648–2,147,483,647; murtoluvut pyöristetään.

CSng

Single-tietotyyppi

-3,402823E38–-1,401298E-45 negatiivisille arvoille; 1,401298E-45–3,402823E38 positiivisille arvoille.

CStr

Merkkijono

Palauttaa CStr expression-argumentin mukaan.

CVar

Muuttuja

Sama alue kuin Double-tietotyyppi numeerisille arvoille. Sama alue kuin Merkkijono ei-numeerisille arvoille.


Huomautuksia

Jos funktioon siirretty expression-argumentti on muunnettavan tietotyypin alueen ulkopuolella, tapahtuu virhe.

Voit yleensä kirjata koodin tietotyypin muuntofunktioiden avulla sen näyttämiseksi, että joidenkin operaatioiden tulos olisi ilmaistava tiettynä tietotyyppinä oletustietotyypin sijasta. Voit esimerkiksi käyttää CCur-funktiota valuutta-aritmetiikan pakottamiseksi tapauksissa, joissa käytetään tavallisesti Single-tietotyypin tarkkuutta, Double-tietotyypin tarkkuutta tai kokonaisluvun aritmetiikkaa.

Val-funktion sijasta olisi käytettävä tietotyypin muuntofunktioita kansainvälisten muuntojen suorittamiseksi yhdestä tietotyypistä toiseen. Esimerkiksi kun käytät CCur-funktiota, eri desimaalierottimet, eri tuhaterottimet ja erilaiset valuuttaoptiot tunnistetaan oikein tietokoneen kieliasetuksen mukaan.

Kun murto-osa on täsmälleen 0,5, CInt- ja CLng-funktiot pyöristävät sen aina lähimpään parilliseen lukuun. Esimerkiksi 0,5 pyöristetään lukuun 0 ja 1,5 pyöristetään lukuun 2. CInt- ja CLng-funktiot eroavat Fix- ja Int-funktioista, jotka katkaisevat luvun murto-osan sen pyöristämisen sijasta. Lisäksi Fix- ja Int-funktiot palauttavat aina saman tyypin arvon kuin siirrossa.

Voit IsDate-funktion avulla määrittää, voidaanko päivämäärä muuntaa päivämääräksi vai kellonajaksi. CDate-funktio tunnistaa päivämääräliteraalit ja aikaliteraalit samoin kuin jotkin luvut, jotka ovat hyväksyttävien päivämäärien alueen sisällä. Kun muunnat luvun päivämääräksi, kokonaisluvun osa muunnetaan päivämääräksi. Luvun jokainen murto-osa muunnetaan tiettyyn kellonaikaan alkaen keskiyöstä.

CDate-funktio tunnistaa päivämäärämuodot järjestelmän aluekohtaiset asetukset-asetuksen mukaan. Päivän, kuukauden ja vuoden oikeaa järjestystä ei voida ehkä määrittää, jos se on annettu jossakin toisessa muodossa kuin päivämääräasetuksissa tunnistetussa muodossa. Lisäksi pitkää päivämäärämuotoa ei tunnisteta, jos se sisältää myös viikonpäivä-merkkijonon.

CVDate-funktion tarkoituksena on myös varmistaa yhteensopivuus Visual Basicin aiempien versioiden kanssa. CVDate-funktion syntaksi on samanlainen CDate-funktion kanssa. CVDate-funktio palauttaa kuitenkin Variant-muuttujan, jonka alatyyppi on Date todellisen Date-tyypin sijasta. Koska siinä on nyt sisäinen Date-tyyppi, CVDate-funktiota ei enää tarvita. Sama tulos voidaan saavuttaa muuntamalla lauseke Date-tyypiksi ja määrittämällä se sitten Variant-muuttujaan. Tämä tekniikka vastaa kaikkien muiden sisäisten tyyppien muuntamista niiden vastaaviksi Variant-alatyypeiksi.

Huomautus: CDec-funktio ei palauta erillistä tietotyyppiä vaan se palauttaa aina Variant-tyypin, jonka arvo on muunnettu Decimal-alatyypiksi.

Esimerkkejä

Huomautus: Seuraavissa esimerkeissä kerrotaan, kuinka tätä funktiota käytetään Visual Basic for Applications (VBA) -moduulissa. Jos haluat lisätietoja VBA:n käytöstä, valitse Sovelluskehittäjän opasHaku-kentän viereisestä luettelosta ja anna yksi tai useampi hakuehto hakukenttään.

CBool-funktio

Vihje:  Access 2010:n IntelliSensen sisältävä lausekkeenmuodostin auttaa käyttämään lausekkeita oikein.

Tässä esimerkissä CBool-funktiota käytetään muuntamaan lauseke totuusarvoksi. Jos lauseke laskee muun kuin nolla-arvon, CBool palauttaa Tosi; muussa tapauksessa se palauttaa Epätosi.

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.

CByte-funktio

Tässä esimerkissä käytetään CByte-funktiota muuntamaan lauseke tavuksi.

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

CCur-funktio

Tässä esimerkissä käytetään CCur-funktiota muuntamaan lauseke valuutaksi.

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

CDate-funktio

Tässä esimerkissä käytetään CDate-funktiota muuntamaan merkkijono päivämääräksi. Yleensä päivämäärien ja aikojen kiinteää koodausta merkkijonoiksi (kuten tässä esimerkissä) ei suositella. Käytä sen sijaan päivämääräliteraaleja ja aikaliteraaleja, kuten #2/12/1969# ja #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)

CDbl-funktio

Tässä esimerkissä käytetään CDbl-funktiota muuntamaan lauseke Double-tietotyypiksi.

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

CDec-funktio

Tässä esimerkissä käytetään CDec-funktiota muuntamaan numeerinen arvo desimaaliksi.

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

CInt-funktio

Tässä esimerkissä käytetään CInt-funktiota muuntamaan arvo kokonaisluvuksi.

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

CLng-funktio

Tässä esimerkissä käytetään CLng-funktiota muuntamaan arvo pitkäksi.

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.

CSng-funktio

Tässä esimerkissä käytetään CSng-funktiota muuntamaan arvo Single-tietotyypiksi.

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.

CStr-funktio

Tässä esimerkissä käytetään CStr-funktiota muuntamaan arvo merkkijonoksi.

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

CVar-funktio

Tässä esimerkissä käytetään CVar-funktiota muuntamaan lauseke muuttujaksi.

Dim MyInt, MyVar
MyInt = 4534 ' MyInt is an Integer.
MyVar = CVar(MyInt & "000")
' MyVar contains the string 4534000.
Kehitä taitojasi
Tutustu koulutusmateriaaliin
Saat uudet ominaisuudet ensimmäisten joukossa
Liity Office Insider -käyttäjiin

Oliko näistä tiedoista hyötyä?

Kiitos palautteesta!

Kiitos palautteestasi! Näyttää siltä, että Office-tukiedustajamme avusta voi olla sinulle hyötyä.

×