Typekonverteringsfunktioner

Vigtigt: Denne artikel er maskinoversat. Se ansvarsfraskrivelsen. Du kan finde den engelske version af denne artikel her til din orientering.

Hver funktion konverterer 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 argumentudtryk kan være ethvert strengudtryk eller numerisk udtryk.

Returtyper

Funktionsnavnet bestemmer returtypen som vist nedenfor:

Funktion

Returtype

Område for argumentet udtryk

CBool

Boolesk

En gyldig streng eller et gyldigt numerisk udtryk.

CByte

Byte

0 til 255.

CCur

Valuta

-922.337.203.685.477,5808 til 922.337.203.685.477,5807.

CDate

Dato

Ethvert gyldigt datoudtryk.

CDbl

Dobbelt reelt tal

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

CDec

Decimal

+/-79.228.162.514.264.337.593.543.950.335 for nulgraduerede tal, dvs. tal uden decimaltal. For tal med 28 decimaltal er området
+/-7,9228162514264337593543950335. Det mindst mulige tal, der er forskelligt fra nul, er 0,0000000000000000000000000001.

CInt

Heltal

-32.768 til 32.767; brøker afrundes.

CLng

Langt heltal

-2.147.483.648 til 2.147.483.647; brøker afrundes.

CSng

Reelt tal

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

CStr

Streng

Det afhænger af argumentet udtryk, hvilke værdier CStr returnerer.

CVar

Variant

Samme område som returtypen Dobbelt reelt tal mht. numeriske værdier. Samme område som Streng for værdier, der ikke er numeriske.


Bemærkninger

Hvis det udtryk, der bruges i funktionen ligger uden for området for den datatype, der konverteres til, opstår der en fejl.

Du kan som regel dokumentere koden ved hjælp af funktionerne til datatypekonvertering, der kan vise, at resultatet af en handling skal udtrykkes med en anden datatype end standardtypen. Brug f.eks. CCur til at gennemtvinge valutaberegninger i tilfælde, hvor der normalt ville optræde reelle tal med flydende decimaler, dobbelt reelle tal med flydende decimaler eller heltal.

Du bør bruge funktionerne til datatypekonvertering i stedet for funktionen Val til at foretage datatypekonverteringer, der tager hensyn til nationale standarder. Hvis du f.eks. bruger funktionen CCur, bliver decimalseparatorer, tusindtalsseparatorer og valutaindstillinger genkendt korrekt i overensstemmelse med computerens landestandardindstillinger.

Hvis brøkdelen er nøjagtigt 0,5, afrunder CInt og CLng den altid til det nærmeste lige tal. For eksempel afrundes 0,5 til 0, og 1,5 afrundes til 2. Funktionerne CInt og CLng adskiller sig fra funktionerne Fix og Int, der trunkerer brøkdelen af et tal i stedet for at afrunde den. Funktionerne Fix og Int returnerer desuden altid en værdi af samme type, som de modtager.

Brug funktionen IsDate til at bestemme, om dato kan konverteres til en dato eller et klokkeslæt. Funktionen CDate genkender datolitteraler og klokkeslætlitteraler samt visse tal, der ligger inden for området af gyldige datoer. Når et tal konverteres til en dato, konverteres den del af tallet, der er et helt tal. En eventuel brøkdel af tallet konverteres til et klokkeslæt, begyndende ved midnat.

Funktionen CDate genkender datoformater i overensstemmelse med systemets indstillinger for lokal. Systemet registrerer muligvis ikke dag, måned og år i den korrekte rækkefølge, hvis disse oplysninger angives i et andet format end de godkendte datoformater. Desuden bliver et langt datoformat ikke genkendt, hvis det også indeholder en streng med ugedagen.

Funktionen CVDate er medtaget for at sikre kompatibilitet med tidligere versioner af Visual Basic. CVDate har samme syntaks som funktionen CDate, men CVDate returnerer en variant med undertypen dato i stedet for en egentlig dato-type. Da der nu findes en indbygget dato-type, er der ikke længere brug for CVDate. Det er muligt at opnå samme effekt ved at konvertere et udtryk til en dato og derefter tildele den til en variant. Denne fremgangsmåde er i overensstemmelse med den metode, der benyttes til at konvertere de andre indbyggede typer til de tilsvarende variant-undertyper.

Bemærk: Funktionen CDec returnerer ikke en adskilt datatype, men returnerer derimod altid en variant, hvor værdien er konverteret til en decimal-undertype.

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 begyndelsen i Access 2010 hjælper med at få dine udtryk højre.

I dette eksempel bruges funktionen CBool til at konvertere et udtryk til en boolesk værdi. Hvis udtrykket tolkes som en værdi, der ikke er nul, returnerer CBoolSand. I modsat fald 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 en streng til en dato. Det kan almindeligvis ikke anbefales at anvende faste datoer og klokkeslæt som strenge (som vist i dette eksempel). Brug i stedet for datolitteraler eller klokkeslætlitteraler, f.eks. #2/12/1969# og #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)

Funktionen CDbl

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

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 et langt heltal.

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 et reelt tal.

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.

Bemærk: Ansvarsfraskrivelse for maskinoversættelse: Denne artikel er blevet oversat af et computersystem uden menneskelig indgriben. Microsoft tilbyder disse maskinoversættelse for at hjælpe ikke-engelsktalende brugere til at kunne nyde indhold om Microsofts produkter, tjenester og teknologier. Da artiklen er maskinoversat, kan den indeholde forkerte ord eller syntaks- eller grammatikfejl.

Del Facebook Facebook Twitter Twitter Mail Mail

Var disse oplysninger nyttige?

Fantastisk! Har du mere feedback?

Hvordan kan vi forbedre det?

Tak for din feedback!

×