Funcții de conversie a tipului de date

Funcții de conversie a tipului de date

Fiecare funcție obligă un expresie la un anumit tip de date.

Sintaxă

CBool ( expresie )

CByte ( expresie )

CCur ( expresie )

CDate ( expresie )

CDbl ( expresie )

CDec ( expresie )

CInt ( expresie )

CLng ( expresie )

CSng ( expresie )

CStr ( expresie )

CVar ( expresie )

argumentexpresiei necesare este orice expresie șir sau expresie numerică.

Tipuri de returnare

Numele funcției determină tipul de returnare așa cum se arată în următoarele:

Funcția

Tipul de returnare

Interval pentru expresie argument

CBool

Boolean

Orice șir sau expresie numerică validă.

CByte

Octet

0 la 255.

CCur

Monedă

-922.337.203.685.477,5808 la 922.337.203.685.477,5807.

CDate

Dată

Orice expresie de date validă.

CDbl

Double

-1.79769313486231 e308 to
-94065645841247e e-324 pentru valori negative; 94065645841247e e-324 pentru a 1.79769313486232 E308 pentru valori pozitive.

CDec

Decimal

+/-79228162514264337593543950335 pentru numere scalate la zero, adică numere fără zecimale. Pentru numere cu 28 de zecimale, zona este
+/-7.9228162514264337593543950335. Cel mai mic număr posibil diferit de zero este 0.0000000000000000000000000001.

CInt

Întreg

-32.768 la 32.767; fracțiile sunt rotunjite.

CLng

Mult

-2.147.483.648 la 2.147.483.647; fracțiile sunt rotunjite.

CSng

Single

-3.402823 E38 to-401298e E-45 pentru valori negative; 401298e e-45 pentru a 3.402823 E38 pentru valori pozitive.

CStr

String

Returnează pentru CStr depind de argumentul expresie .

CVar

Variantă

Același interval ca dublă precizie pentru valorile numerice. Același interval ca șir pentru valorile non-numerice.

Observații

Dacă expresia transmisă funcției este în afara intervalului de tip de date la care se face conversia, apare o eroare.

În general, puteți să documentați codul utilizând funcțiile de conversie a tipului de date, pentru a arăta că rezultatul unei operațiuni ar trebui să fie exprimat ca un anumit tip de date, mai degrabă decât tipul de date implicit. De exemplu, utilizați CCur pentru a forța aritmetica monetară în cazurile în care se va produce în mod normal o aritmetică de precizie, dublu-precizie sau întreg.

Trebuie să utilizați funcțiile de conversie a tipului de date în loc de Val pentru a furniza conversii la nivel internațional de la un tip de date la altul. De exemplu, atunci când utilizați CCur, separatori zecimali diferiți, diferiți separatori de mii și diverse opțiuni monetare sunt recunoscute corect în funcție de setarea regională a computerului.

Atunci când partea fracționată este exact 0,5, CInt și CLng întotdeauna o rotunjesc la cel mai apropiat număr par. De exemplu, 0,5 rotunjește la 0 și 1,5 rotunjește la 2. CInt și CLng diferă de funcțiile fix și Int , care trunchiază, mai degrabă decât runda, partea fracționată a unui număr. De asemenea, fix și Int returnează întotdeauna o valoare de același tip ca în care este transmisă.

Utilizați funcția ISDATE pentru a determina dacă data poate fi convertită la o dată sau oră. CDate recunoaște Literalii de dată și de timp, precum și unele numere care se încadrează în intervalul de date acceptabile. Atunci când faceți conversia unui număr într-o dată, porțiunea de număr întreg este transformată într-o dată. Orice parte fracționată a numărului este transformată într-o oră din zi, începând de la miezul nopții.

CDate recunoaște formatele de dată în funcție de setarea setări regionale a sistemului. Ordinea corectă a zilei, a lunii și a anului poate să nu fie determinată dacă este furnizată într-un alt format decât unul dintre setările de dată recunoscute. În plus, un format de dată lungă nu este recunoscut dacă conține, de asemenea, șirul de zile din săptămână.

De asemenea, este furnizată o funcție CVDate pentru compatibilitate cu versiunile anterioare de Visual Basic. Sintaxa funcției CVDate este identică cu funcția CDate , cu toate acestea, CVDate returnează o valoare a cărei subtip este dată în locul unui tip de dată real. Deoarece acum există un tip de dată intrinsecă, nu mai este nevoie de CVDate. Același efect se poate realiza prin conversia unei expresii la o dată, apoi atribuirea acesteia la o variantă . Această tehnică este în concordanță cu conversia tuturor celorlalte tipuri intrinseci la subtipurile lor de variantă echivalentă.

Notă:  Funcția CDec nu returnează un tip de date discret; în schimb, returnează întotdeauna o variantă a cărei valoare a fost convertită la un Subtype zecimal .

Exemple de interogare

Expresie

Rezultatele

Selectați SalePrice, FinalPrice, CBool (SalePrice>FinalPrice) ca Expr1 din productSales;

Returnează "SalePrice", "FinalPrice" și evaluează dacă SalePrice este mai mare decât prețul final. Returnează "-1" Dacă True și "0" dacă sunt false.

Selectați ProductID, CByte (cantitate) ca Expr1 din productSales;

Returnează "ProductID", face conversia valorilor din câmpul "cantitate" în format octeți și se afișează în coloana Expr1 returnează "ProductID", efectuează conversia valorilor din câmpul "cantitate" în format monetar și se afișează în coloana Expr1.

Selectați ProductID, CDate (DateofSale) ca Expr1 din productSales;

Returnează "ProductID", face conversia valorilor din câmpul "DateofSale" în format dată și se afișează în coloana Expr1.

Selectați ProductID, CDbl (reducere) ca Expr1 din productSales;

Returnează "ProductID", face conversia valorilor din câmpul "reducere" în format dublu și se afișează în coloana Expr1.

Selectați ProductID, CInt (reducere) ca Expr1 din productSales;

Returnează "ProductID", face conversia valorilor din câmpul "reducere" în format întreg și se afișează în coloana Expr1.

Selectați ProductID, CLng (reducere) ca Expr1 din productSales;

Returnează "ProductID", face conversia valorilor din câmpul "reducere" în format lung și se afișează în coloana Expr1.

Selectați ProductID, CSng (reducere) ca Expr1 din productSales;

Returnează "ProductID", face conversia valorilor din câmpul "reducere" într-un singur format și se afișează în coloana Expr1.

Selectați ProductID, CStr (reducere) ca Expr1 din productSales;

Returnează "ProductID", face conversia valorilor din câmpul "reducere" în format șir și se afișează în coloana Expr1.

Selectați ProductID, CVar (reducere) ca Expr1 din productSales;

Returnează "ProductID", face conversia valorilor din câmpul "reducere" în dublu pentru valori numerice și șir pentru valori non-numerice.

Exemple VBA

Notă: Exemplele care urmează demonstrează utilizarea acestei funcții într-un modul Visual Basic for Applications (VBA). Pentru mai multe informații despre lucrul cu VBA, selectați Referințe pentru dezvoltatori în lista verticală de lângă Căutare și introduceți unul sau mai mulți termeni în caseta de căutare.

Funcția CBool

Sfat:  Generatorul de expresii cu IntelliSense care începe în Access 2010 vă ajută să obțineți expresiile corecte.

Acest exemplu utilizează funcția CBool pentru a efectua conversia unei expresii la un Boolean. Dacă expresia se evaluează la o valoare diferită de zero, CBool returnează True; în caz contrar, returnează 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.

Funcția CByte

Acest exemplu utilizează funcția CByte pentru a efectua conversia unei expresii într-un octet.

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

Funcția CCur

Acest exemplu utilizează funcția CCur pentru a efectua conversia unei expresii la o monedă.

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

Funcția CDate

Acest exemplu utilizează funcția CDate pentru a efectua conversia unui șir la o dată. În general, se recomandă să nu se recomande datele și orele de codificare a caracterelor (așa cum se arată în acest exemplu). Utilizați literali de dată și de timp, cum ar fi #2/12/1969 # și #4:45:23 PM # în schimb.

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)

Funcția CDbl

Acest exemplu utilizează funcția CDbl pentru a efectua conversia unei expresii la o dublură.

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

Funcția CDec

Acest exemplu utilizează funcția CDec pentru a efectua conversia unei valori numerice la o zecimală.

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

Funcția CInt

Acest exemplu utilizează funcția CInt pentru a efectua conversia unei valori la un număr întreg.

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

Funcția CLng

Acest exemplu utilizează funcția CLng pentru a efectua conversia unei valori într-o perioadă lungă.

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.

Funcția CSng

Acest exemplu utilizează funcția CSng pentru a efectua conversia unei valori într-o singură persoană.

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.

Funcția CStr

Acest exemplu utilizează funcția CStr pentru a efectua conversia unei valori numerice într-un șir.

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

Funcția CVar

Acest exemplu utilizează funcția CVar pentru a efectua conversia unei expresii la o variantă.

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

Notă:  Această pagină a fost tradusă automatizat și poate conține erori gramaticale sau inexactități. Scopul nostru este ca acest conținut să vă fie util. Ne puteți spune dacă informațiile au fost utile? Aici se află articolul în limba engleză, ca referință.

Extindeți-vă competențele Office
Explorați instruirea
Fiți primul care obține noile caracteristici
Alăturați-vă utilizatorilor Office Insider

Au fost utile aceste informații?

Vă mulțumim pentru feedback!

Vă mulțumim pentru feedback! Se pare că ar fi util să luați legătura cu unul dintre agenții noștri de asistență Office.

×