Chaque fonction force un expression à une type de données.

Syntaxe

CBool( expression )

CByte( expression )

CCur( expression )

CDate( expression )

CDbl( expression )

CDec( expression )

CInt( expression )

CLng( expression )

CSng( expression )

CStr( expression )

CVar( expression )

L’expression requiseargument 'expression est toute expression de chaîne ou expression numérique.

Types de retour

Le nom de la fonction détermine le type de retour, comme illustré dans les exemples suivants :

Fonction

Type de retour

Plage pour l’argument expression

CBool

Booléen

Toute chaîne ou expression numérique valide.

CByte

Byte (Octet)

0 à 255.

CCur

Devise

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

CDate

Date

Toute expression de date valide.

CDbl

Réel double

-1,79769313486231E308 à
-4,94065645841247E-324 pour les valeurs négatives ; 4,94065645841247E-324 à 1,79769313486232E308 pour les valeurs positives.

CDec

Décimal

+/-79 228 162 514 264 337 593 543 950 335 pour les nombres à échelle zéro, c’est-à-dire les nombres sans décimale. Pour les nombres à 28 décimales, la plage est
+/-7,9228162514264337593543950335. Le numéro autre que zéro le plus bas autorisé est 0,0000000000000000000000000001.

CInt

Entier

-32 768 à 32 767 ; les fractions sont arrondies.

CLng

Long

-2 147 483 648 à 2 147 483 647 ; les fractions sont arrondies.

CSng

Réel simple

-3,402823E38 à -1,401298E-45 pour les valeurs négatives ; De 1,401298E-45 à 3,402823E38 pour les valeurs positives.

CStr

String

Les retours pour CStr dépendent de l’argument de l’expression.

CVar

Variant

Même plage que pour Double en ce qui concerne les expressions numériques. Même plage que pour Chaîne pour les expressions non numériques.

Remarques

Si l’expression transmise à la fonction est en dehors de la plage du type de données en cours de conversion, une erreur se produit.

En règle générale, vous pouvez documenter votre code à l’aide des fonctions de conversion de type de données pour montrer que le résultat d’une opération doit être exprimé en tant que type de données particulier plutôt que comme type de données par défaut. Par exemple, utilisez CCur pour forcer l’arithmétique des devises dans les cas où une précision unique, une précision double ou un nombre unique arithmétique se produirait normalement.

Au lieu de val, vous devez utiliser les fonctions de conversion de type de données pour fournir des conversions d’un type de données à un autre. Par exemple, lorsque vous utilisez CCur,différents séparateurs décimaux, différents séparateurs de milliers et différentes options monétaires sont correctement reconnus selon les paramètres régionaux de votre ordinateur.

Lorsque la partie fractionnaire est exactement 0,5, CInt et CLng l’arrondit toujours au nombre même le plus proche. Par exemple, 0,5 arrondit à 0 et 1,5 arrondit à 2. CInt etCLng diffèrent des fonctions Fix et Int, qui tronqué, plutôt que arrondi, la partie fractionnaire d’un nombre. Par ailleurs, les corrections et les int. int. retournent toujours une valeur du même type que l’inser.

Utilisez la fonction DateDate pour déterminer si la date peut être convertie en date ou heure. CDate reconnaît les littéraux de date et d’heure, ainsi que certains nombres qui sont dans la plage de dates acceptables. Lors de la conversion d’un nombre en date, la partie entière est convertie en date. Toute partie fractionnaire du nombre est convertie en heure de la journée, à partir de minuit.

CDate reconnaît les formats de date en fonction paramètres régionaux de votre système. L’ordre correct du jour, du mois et de l’année peut ne pas être déterminé s’il est fourni dans un format autre que l’un des paramètres de date reconnus. En outre, un format de date longue n’est pas reconnu s’il contient également la chaîne du jour de la semaine.

Une fonction CVDate permet également d’assurer la compatibilité avec les versions précédentes Visual Basic. La syntaxe de la fonction CVDate est identique à celle de la fonction CDate. Toutefois, CVDate renvoie une variante dont le sous-type est Date au lieu d’un type Date réel. Étant donné qu’il existe désormais un type de Date plus complet, il n’est plus nécessaire d’avoir CVDate. Vous pouvez obtenir le même effet en convertissant une expression en Date, puis en l’attribuant à une variante. Cette technique est cohérente avec la conversion de tous les autres types d’équivalents en sous-types de variantes équivalents.

Remarque :  La fonction CDec ne retourne pas un type de données discret . Au lieu de cela, elle renvoie toujours une variante dont la valeur a été convertie en sous-type décimal.

Exemples de requête

Expression

Résultats

SELECT SalePrice,FinalPrice,CBool(SalePrice>FinalPrice) AS Expr1 FROM productSales;

Renvoie « PrixVente », « Prix Final » et évalue si PrixVente est supérieur à Prix final. Renvoie « -1 » si vrai et « 0 » si faux.

SELECT ProductID, CByte(Quantity) AS Expr1 FROM productSales;

Renvoie « ProductID », convertit les valeurs du champ « Quantité » au format octets et affiche dans la colonne Expr1 renvoie « ProductID », convertit les valeurs du champ « Quantity » au format Monétaire et s’affiche dans la colonne Expr1.

SELECT ProductID, CDate(DateofSale) AS Expr1 FROM productSales;

Renvoie « ProductID », convertit les valeurs du champ « DateofSale » au format Date et s’affiche dans la colonne Expr1.

SELECT ProductID, CDbl(Discount) AS Expr1 FROM productSales;

Renvoie « ProductID », convertit les valeurs du champ « Discount » en format double et s’affiche dans la colonne Expr1.

SELECT ProductID, CInt(Discount) AS Expr1 FROM productSales;

Renvoie « ProductID », convertit les valeurs du champ « Discount » au format Integer et affiche la colonne Expr1.

SELECT ProductID, CLng(Discount) AS Expr1 FROM productSales;

Renvoie « ProductID », convertit les valeurs du champ « Discount » en format Long et s’affiche dans la colonne Expr1.

SELECT ProductID, CSng(Discount) AS Expr1 FROM productSales;

Renvoie « ProductID », convertit les valeurs du champ « Discount » en format Simple et s’affiche dans la colonne Expr1.

SELECT ProductID, CStr(Discount) AS Expr1 FROM productSales;

Renvoie « ProductID », convertit les valeurs du champ « Discount » au format String et s’affiche dans la colonne Expr1.

SELECT ProductID, CVar(Discount) AS Expr1 FROM productSales;

Renvoie « ProductID » et convertit les valeurs du champ « Discount » en Double pour les valeurs numériques et String pour les valeurs non numériques.

Exemples de VBA

Remarque : Les exemples qui suivent illustrent l’utilisation de cette fonction dans un module Visual Basic pour Applications (VBA). Pour plus d’informations sur l’travail avec VBA, sélectionnez Référence du développeur dans la liste de listes en regard de Rechercher, puis entrez un ou plusieurs termes dans la zone de recherche.

CBool, fonction

Conseil :  Le Générateur d’expressions IntelliSense’Access 2010 vous aide à trouver vos expressions droites.

Cet exemple utilise la fonction CBool pour convertir une expression en booléen. Si la valeur de l’expression est une valeur non zéro, CBool renvoie Vrai; sinon, elle renvoie Faux.

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, fonction

Cet exemple utilise la fonction Octet pour convertir une expression en octet.

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

CCur, fonction

Cet exemple utilise la fonction CCur pour convertir une expression en devise.

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, fonction

Cet exemple utilise la fonction CDate pour convertir une chaîne en date. En règle générale, il n’est pas recommandé d’coder des dates et des heures en dur sous la direction de chaînes (comme dans l’exemple ci-après). Utilisez à la place des littéraux de date et d’heure, tels que #2/12/1969# et #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)

Fonction CDbl

Cet exemple utilise la fonction CDbl pour convertir une expression en double.

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

Fonction CDec

Cet exemple utilise la fonction CDec pour convertir une valeur numérique en décimal.

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

Fonction CInt

Cet exemple utilise la fonction CInt pour convertir une valeur en un.

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

CLng, fonction

Cet exemple utilise la fonction CLng pour convertir une valeur en valeur Long.

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.

Fonction CSng

Cet exemple utilise la fonction CSng pour convertir une valeur en un seul.

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.

Fonction CStr

Cet exemple utilise la fonction CStr pour convertir une valeur numérique en chaîne.

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

CVar, fonction

Cet exemple utilise la fonction CVar pour convertir une expression envariante.

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

Besoin d’aide ?

Développez vos compétences
Découvrez des formations
Accédez aux nouvelles fonctionnalités en avant-première
Rejoindre Microsoft Office insiders

Ces informations vous ont-elles été utiles ?

Dans quelle mesure êtes-vous satisfait(e) de la qualité de la langue ?
Qu’est-ce qui a affecté votre expérience ?

Nous vous remercions de vos commentaires.

×