Passer directement au contenu principal

Fonctions de conversion de types de données

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

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 est une expression de chaîne ou expression numérique.

Types de retour

Le nom de la fonction détermine le type de retour, comme indiqué dans l’exemple suivant:

Fonction

Type de retour

Plage de expression argument

CBool

Booléen

Toute chaîne ou expression numérique valide.

CByte

Byte (Octet)

entre 0 et 255.

CCur

Devise

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

CDate

Date

Toute expression de date valide.

CDbl

Réel double

-1.79769313486231 79769313486232e308 to
-94065645841247E e-324 pour les valeurs négatives; 94065645841247E e-324 à -1 79769313486232e308 79769313486232E308 de valeurs positives.

CDec

Décimal

+/-79 pour les numéros à l’échelle zéro, c’est-à-dire les nombres sans décimale. Pour les nombres avec 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

Longs

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

CSng

Réel simple

-3 402823e38 entre to-401298E E-45 pour les valeurs négatives; 401298E e-45 à 3 402823e38 entre de valeurs positives.

CStr

String

Les retours pour CStr dépendent de l’argument 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.

Notes

Si l' expression transmise à la fonction est en dehors de la plage du type de données converti en, 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 indiquer que le résultat d’une opération doit être exprimé en tant que type de données particulier plutôt qu’en tant que type de données par défaut. Par exemple, utilisez CCur pour imposer l’arithmétique monétaire dans les cas où les opérations arithmétiques à précision unique, de double précision ou d’entiers peuvent se produire normalement.

Vous devez utiliser les fonctions de conversion de type de données au lieu de Val pour fournir des conversions internationales d’un type de données vers un autre. Par exemple, quand vous utilisez CCur, des séparateurs décimaux différents, des séparateurs de milliers et différentes options de devise, sont correctement reconnus en fonction du paramètre régional de votre ordinateur.

Lorsque la partie fractionnaire est exactement 0,5, CInt et CLng l’arrondissent toujours au nombre pair le plus proche. Par exemple, 0,5 arrondit à 0 et 1,5 arrondit à 2. CInt et CLng diffèrent des fonctions Fix et ent , ce qui tronque, au lieu d’être arrondi, la partie fractionnaire d’un nombre. Par ailleurs, Fix et ent renvoient toujours une valeur du même type que celui qui est passé.

Utilisez la fonction IsDate pour déterminer si une Date peut être convertie en date ou heure. La constante CDate reconnaît des littéraux de date et des littéraux d’heure, ainsi que certains nombres compris dans la plage de dates acceptables. Lors de la conversion d’un nombre en date, la partie entière du nombre est convertie en date. Toute partie fractionnaire du nombre est convertie en une heure de la journée, en commençant à minuit.

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

Une fonction CVDate est également fournie à des fins de compatibilité avec les versions précédentes de Visual Basic. La syntaxe de la fonction CVDate est semblable à la fonction CDate , mais CVDate renvoie une valeur de type variante dont le sous-type est Date au lieu d’un type de Date réel. Dans la mesure où il existe désormais un type de Date intrinsèque, il n’est plus nécessaire de CVDate. Vous pouvez obtenir le même effet en convertissant une expression en date, puis en l’affectant à une variante. Cette technique est cohérente avec la conversion de tout autre type intrinsèque en sous -types de variantes équivalentes.

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

Exemples de requête

Expression

Résultats

Sélectionnez SalePrice, FinalPrice, CBool (SalePrice>FinalPrice) AS expr1 FROM productSales;

Renvoie «SalePrice», «FinalPrice» et évalue si SalePrice est supérieur au prix final. Renvoie «-1» si vrai et «0» si faux.

Sélectionnez ProductID, CByte (Quantity) comme expr1 de productSales;

Renvoie «ProductID», convertit les valeurs du champ «quantité» en octets et affiche dans la colonne expr1 renvoie «IDProduit», convertit les valeurs du champ «quantité» en format monétaire et s’affiche dans la colonne expr1.

Sélectionnez ProductID, CDate (DateofSale) comme expr1 dans productSales;

Retourne «ProductID», convertit les valeurs du champ «DateofSale» en format de date et s’affiche dans la colonne expr1.

Sélectionnez ProductID, CDbl (discount) comme expr1 de productSales;

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

Sélectionnez ProductID, CInt (discount) comme expr1 de productSales;

Retourne «ProductID», convertit les valeurs du champ «discount» en format entier et s’affiche dans la colonne expr1.

Sélectionnez ProductID, CLng (discount) comme expr1 de productSales;

Renvoie «ProductID», convertit les valeurs du champ «discount» en format long et s’affiche dans la colonne expr1.

Sélectionnez ProductID, CSng (discount) comme expr1 de productSales;

Renvoie «ProductID», convertit les valeurs du champ «discount» en un format unique et s’affiche dans la colonne expr1.

Sélectionnez ProductID, CStr (discount) comme expr1 de productSales;

Retourne «ProductID», convertit les valeurs du champ «discount» en format de chaîne et s’affiche dans la colonne expr1.

Sélectionnez ProductID, CVar (discount) comme expr1 de productSales;

Renvoie «ProductID», convertit les valeurs du champ «discount» en double pour les valeurs numériques et String pour les valeurs non numériques.

Exemples VBA

Remarque : Les exemples suivants illustrent l’utilisation de cette fonction dans un module Visual Basic pour applications (VBA). Pour plus d’informations sur l’utilisation de VBA, sélectionnez Référence du développeur dans la liste déroulante en regard de Rechercher , puis entrez une ou plusieurs conditions dans la zone de recherche.

Fonction CBool

Conseil :  Le générateur d’expressions avec IntelliSense au début dans Access 2010 vous aide à obtenir les expressions appropriées.

Cet exemple utilise la fonction CBool pour convertir une expression en valeur booléenne. Si l’expression produit une valeur différente de zéro, CBool retourne true; dans le cas contraire, elle renvoie la valeur 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.

Fonction CByte

Cet exemple utilise la fonction CByte pour convertir une expression en Byte.

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

Fonction CCur

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

Fonction CDate

Cet exemple utilise la fonction CDate pour convertir une chaîne en Date. En règle générale, il est déconseillé de coder en dur les dates et les heures en tant que chaînes (comme illustré dans cet exemple). Utilisez à la place des littéraux de date et des littéraux 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 nombre 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 entier.

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

Fonction CLng

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

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

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

Cet exemple utilise la fonction cvar pour convertir une expression en variante.

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

Remarque :  Cette page a été traduite automatiquement et peut donc contenir des erreurs grammaticales ou des imprécisions. Notre objectif est de faire en sorte que ce contenu vous soit utile. Pouvez vous nous dire si les informations vous ont été utiles ? Voici l’article en anglais pour référence.

Développez vos compétences dans Office
Découvrez des formations
Accédez aux nouvelles fonctionnalités en avant-première
Rejoignez le programme Office Insider

Ces informations vous ont-elles été utiles ?

Nous vous remercions pour vos commentaires.

Merci pour vos commentaires. Il serait vraisemblablement utile pour vous de contacter l’un de nos agents du support Office.

×