Typekonverteringsfunktioner

Hver funktion tvinger et udtryk til en bestemt datatype.

Syntaks

CBool( udtryk )

CByte( udtryk )

CCur( udtryk )

CDate( udtryk )

CDbl( udtryk )

CDec( udtryk )

CInt( udtryk )

CLng( udtryk )

CSng( udtryk )

CStr( udtryk )

CVar( udtryk )

Det påkrævede udtrykargument er et hvilket som helst strengudtryk eller numerisk udtryk.

Returtyper

Funktionsnavnet bestemmer returtypen, sådan som det er vist i følgende:

Funktion

Returtype

Område for argumentet udtryk

CBool

Boolesk værdi

En gyldig streng eller et numerisk udtryk.

CByte

Byte

0 til 255.

CCur

Valuta

-922.337.203.685.477,5808 til 922.337.203.685.477,5807.

CDate

Dato

Et gyldigt datoudtryk.

CDbl

Dobbelt

-1,79769313486231E308 til
-4,94065645841247E-324 for negative værdier og 4,94065645841247E-324 til 1,79769313486232E308 for positive værdier.

CDec

Decimal

+/-79.228.162.514.264.337.593.543.950,335 for nulskalerede tal, dvs. tal uden decimalpladser. For tal med 28 decimalpladser er området
+/-7,9228162514264337593543950335. Det mindst mulige tal, der ikke er nul, er 0,0000000000000000000000000001.

CInt

Heltal

-32.768 til 32.767. Decimaler afrundes.

CLng

Lang

-2.147.483.648 til 2.147.483.647. Decimaler afrundes.

CSng

Enkelt

-3,402823E38 til -1,401298E-45 for negative værdier og 1,401298E-45 til 3,402823E38 for positive værdier.

CStr

Streng

Returnering for CStr afhænger af argumentet udtryk.

CVar

Variant

Samme område som Dobbelt for numeriske udtryk. Samme område som Streng for ikke-numeriske udtryk.


Bemærkninger

Hvis det udtryk, der videregives til funktionen er uden for området for den datatype, der konverteres til, opstår der en fejl.

Generelt kan du dokumentere din kode ved hjælp af funktionerne til datatypekonvertering til at vise, at resultatet af en handling skal udtrykkes som en bestemt datatype i stedet for som standarddatatypen. Brug f.eks. CCur til at gennemtvinge valutaudregning i tilfælde, hvor enkelt-præcisions-, dobbelt-præcisions- eller heltalsudregninger normalt ville forekomme.

Du skal bruge funktionerne til datatypekonvertering i stedet for Val til at levere omregninger, som tager højde for forskelle i forskellige lande, fra én datatype til en anden. Når du f.eks. bruger CCur, genkendes forskellige decimalseparatorer, forskellige tusindtalsseparatorer og forskellige valutaindstillinger korrekt afhængigt af computerens indstilling for landestandard.

Når decimaldelen er nøjagtigt 0,5, afrunder CInt og CLng altid til det nærmeste lige tal. Eksempelvis afrundes 0,5 til 0, og 1,5 afrundes til 2. CInt og CLng adskiller sig fra funktionerne RET og HELTAL, som afkorter i stedet for at afrunde et tals decimaldel. Desuden returnerer RET og Heltal altid en værdi af samme type, som videregives i.

Brug funktionen IsDate til at afgøre, om dato kan konverteres til en dato eller et klokkeslæt. CDate genkender datokonstanter og klokkeslætskonstanter samt nogle tal, der falder inden for området af gyldige datoer. Når du konverterer et tal til en dato, konverteres hele taldelen til en dato. En hvilken som helst decimaldel i tallet konverteres til et tidspunkt på dagen, startende ved midnat.

CDate genkender datoformater i henhold til systemets indstilling for lokal. Den rigtige rækkefølge i dag, måned og år kan muligvis ikke bestemmes, hvis det er angivet i et andet format end et af de genkendte datoindstillinger. Desuden genkendes et langt datoformat ikke, hvis det også indeholder strengen for dag i ugen.

Der leveres også en CVDate-funktion med henblik på at sikre kompatibilitet med tidligere versioner af Visual Basic. Syntaksen for funktionen CVDate er identisk med funktionen CDate, men CVDate returnerer en Variant med undertypen Dato i stedet for en faktisk Dato-type. Da der nu er en indbygget Dato-type, er der ikke længere brug for CVDate. Den samme effekt kan opnås ved at konvertere et udtryk til en Dato, og derefter tildele den til en Variant. Denne metode er i overensstemmelse med konvertering af alle andre typer, der er indbygget i deres tilsvarende Variant-undertyper.

Bemærk:  Funktionen CDec returnerer ikke en diskret datatype. I stedet returneres der altid en Variant, hvis værdi er blevet konverteret til undertypen Decimal.

Eksempler

Bemærk: Følgende eksempler demonstrerer brugen af denne funktion i et VBA-modul (Visual Basic for Applications). Hvis du vil have mere at vide om at arbejde med VBA, skal du vælge Udviklerreference på rullelisten ud for Søg og skrive ét eller flere ord i søgefeltet.

Funktionen CBool

Tip:  Udtryksgenerator med IntelliSense fra og med Access 2010 hjælper med at få dannet det rigtige udtryk.

I dette eksempel bruges funktionen CBool til at konvertere et udtryk til en boolesk værdi. Hvis udtrykket evalueres til en værdi, som ikke er nul, returnerer CBoolSAND, og ellers returneres FALSK.

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.

Funktionen CByte

I dette eksempel bruges funktionen CByte til at konvertere et udtryk til en byte.

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

Funktionen CCur

I dette eksempel bruges funktionen CCur til at konvertere et udtryk til en valuta.

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

Funktionen CDate

I dette eksempel bruges funktionen CDate til at konvertere et udtryk til en dato. Generelt anbefales hård kodning af datoer og klokkeslæt som strenge (som vist i dette eksempel) ikke. Brug af datokonstanter og klokkeslætskonstanter, f.eks. #2/12/1969 # og # 4:45:23 PM #, i stedet for.

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)

Funktionen CDbl

I dette eksempel bruges funktionen CDbl til at konvertere et udtryk til en dobbelt.

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

Funktionen CDec

I dette eksempel bruges funktionen CDec til at konvertere en numerisk værdi til en decimal.

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

Funktionen CInt

I dette eksempel bruges funktionen CInt til at konvertere en værdi til et heltal.

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

Funktionen CLng

I dette eksempel bruges funktionen CLng til at konvertere en værdi til en lang.

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.

Funktionen CSng

I dette eksempel bruges funktionen CSng til at konvertere en værdi til en enkelt.

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.

Funktionen CStr

I dette eksempel bruges funktionen CStr til at konvertere en numerisk værdi til en streng.

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

Funktionen CVar

I dette eksempel bruges funktionen CVar til at konvertere et udtryk til en variant.

Dim MyInt, MyVar
MyInt = 4534 ' MyInt is an Integer.
MyVar = CVar(MyInt & "000")
' MyVar contains the string 4534000.
Udvid dine færdigheder
Gå på opdagelse i kurser
Få nye funktioner først
Bliv Office Insider

Var disse oplysninger nyttige?

Tak for din feedback!

Tak for din feedback! Det lyder, som om det vil kunne hjælpe, hvis du bliver sat i forbindelse med en af vores Office-supportteknikere.

×