Table of contents
TOC
Réduire la table des matières
Développer la table des matières

Fonctions de conversion de types de données

office 365 dev account|Dernière mise à jour: 04/10/2017
|
1 Contributeur

Les fonctions ci-dessous convertissent une expression en un type de données spécifique.

Syntaxe

CBool(expression)

CByte(expression)

CCur(expression)

CDate(expression)

CDbl(expression)

CDec(expression)

CInt(expression)

CLng(expression)

CLngLng(expression) (Valide uniquement sur les plateformes 64 bits.)

CLngPtr(expression)

CSng(expression)

CStr(expression)

CVar(expression)

L' argumentexpression requis peut être n'importe quelle expression de chaîne ou expression numérique.

Types renvoyés

Le nom de la fonction détermine le type renvoyé, comme le montre le tableau suivant :

FonctionType renvoyé*Plage de valeurs de l'argument *expression **
CBoolBooleanToute chaîne ou expression numérique valide.
CByteByte0 à 255
CCurCurrency-922 337 203 685 477,5808 à 922 337 203 685 477,5807.
CDateDateToute expression de date valide.
CDblDouble-1,79769313486231E308 à -4,94065645841247E-324 pour les valeurs négatives ; 4,94065645841247E-324 à 1,79769313486232E308 pour les valeurs positives.
CDecDecimal+/-79 228 162 514 264 337 593 543 950 335 pour les nombres sans décimales. Pour les nombres avec 28 décimales, la plage est +/-7,9228162514264337593543950335. Le plus petit nombre différent de zéro est 0,0000000000000000000000000001.
CIntInteger-32 768 à 32 767 ; les fractions sont arrondies
CLngLong-2 147 483 648 à 2 147 483 647 ; les fractions sont arrondies.
CLngLngLongLong-9 223 372 036 854 775 808 à 9 223 372 036 854 775 807 ; les fractions ne sont pas arrondies. (Valide uniquement sur les plateformes 64 bits.)
CLngPtrLongPtr-2 147 483 648 à 2 147 483 647 sur les systèmes 32 bits, -9 223 372 036 854 775 808 à 9 223 372 036 854 775 807 sur les systèmes 64 bits ; les fractions sont arrondies pour les systèmes 32 bits et 64 bits.
CSngSingle-3,402823E38 à -1,401298E-45 pour les valeurs négatives ; 1,401298E-45 à 3,402823E38 pour les valeurs positives.
CStrStringLes valeurs renvoyées par la fonction CStr dépendent de l'argument expression .
CVarVariantMême plage de valeurs que le type Double pour les nombres et que le type String pour les chaînes non numériques.

Remarque

Si l'argument expression passé à la fonction excède la plage de valeurs du type de données cible, une erreur se produit.

Remarque Des fonctions de conversion doivent être utilisées pour affecter explicitement LongLong (et LongPtr sur les plateformes 64 bits) à des types d'entiers plus petits. Les conversions implicites de LongLong en plus petits entiers ne sont pas autorisées.

Il est généralement possible de documenter le code en utilisant les fonctions de conversion de types de données afin d'indiquer que le résultat de certaines opérations devrait correspondre à un type de données particulier plutôt qu'au type par défaut. Utilisez par exemple la fonction CCur pour fonctionner en arithmétique monétaire et non en arithmétique en simple précision, en double précision ou en arithmétique de nombres entiers.

Utilisez les fonctions de conversion de types de données à la place de la fonction Val de manière à respecter les conventions étrangères. Par exemple, la fonction CCur reconnaît divers types de séparateurs décimaux, de séparateurs des milliers et diverses options monétaires, selon les paramètres régionaux de votre ordinateur.

Les fonctions CInt et CLng arrondissent les parties décimales égales à 0,5 au nombre pair le plus proche. Par exemple, 0,5 est arrondi à 0 et 1,5 est arrondi à 2. Les fonctions CInt et CLng diffèrent des fonctions Fix et Int, qui tronquent la partie décimale d'un nombre sans forcément l'arrondir. En outre, les fonctions Fix et Int renvoient toujours une valeur du type passé.

Utilisez la fonction IsDate pour déterminer si la valeur de l'argument date peut être convertie en date ou en heure. La fonction CDate reconnaît les littéraux date et heure ainsi que certains nombres appartenant à la plage de dates autorisées. Lors de la conversion d'un nombre en date, la partie entière du nombre est convertie en date. Si le nombre comprend une partie décimale, celle-ci est convertie en heures, exprimées en partant de minuit.

La fonction CDate reconnaît les formats de date définis dans les paramètres régionaux de votre système. L'ordre des jours, mois et années risque de ne pouvoir être défini si les données sont fournies dans un format différent des paramètres de date reconnus. En outre, les formats de date complets précisant le jour de la semaine ne sont pas reconnus.

Pour des raisons de compatibilité avec les versions antérieures de Visual Basic, il existe une fonction CVDate. La syntaxe de la fonction CVDate est identique à celle de la fonction CDate. Cependant, la fonction CVDate renvoie une donnée de type Variant et de sous-type Date et non une véritable donnée de type Date. Dans la mesure où il existe désormais un type Date intrinsèque, la fonction CVDate n'est plus nécessaire. On obtient le même résultat en convertissant une expression en donnée de type Date, puis en l'affectant à une donnée de type Variant. Cette technique est cohérente avec la conversion des autres types intrinsèques dans le sous-type Variant équivalent.

Remarque La fonction CDec ne renvoie pas un type de données isolé, mais un type Variant dont la valeur a été convertie en sous-type Decimal.

Exemple de fonction CBool

Cet exemple utilise la fonction CBool pour convertir une expression en une valeur Boolean. Si l'expression est évaluée à une valeur différente de zéro, CBool renvoie True; sinon, la valeur retournée est 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.

Exemple de fonction CByte

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

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

Exemple de fonction CCur

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

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

Exemple de fonction CDate

Cet exemple utilise la fonction CDate pour convertir une chaîne en une valeur Date. En général, le codage en dur des dates et des heures en tant que chaînes (comme illustré dans cet exemple) n'est pas recommandé. Utilisez plutôt des littérales de date et des littérales d'heure, telles que #2/12/1969# et #4:45:23 PM#.

Dim MyDate, MyShortDate, MyTime, MyShortTime
MyDate = "February 12, 1969" ' Define date.
MyShortDate = CDate(MyDate) ' Convert to Date data type.

MyTime = "4:35:47 PM" ' Define time.
MyShortTime = CDate(MyTime) ' Convert to Date data type.

Exemple de fonction CDbl

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

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

Exemple de fonction CDec

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

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

Exemple de fonction CInt

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

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

Exemple de fonction CLng

Cet exemple utilise la fonction CLng pour convertir une valeur en une 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.

Exemple de fonction CSng

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

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.

Exemple de fonction CStr

Cet exemple utilise la fonction CStr pour convertir une valeur numérique en une valeur String.

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

Exemple de fonction CVar

Cet exemple utilise la fonction CVar pour convertir une expression en une valeur Variant.

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