Présentation détaillée : conversion d'un type de variable en un autre

Mise à jour : novembre 2007

Comme expliqué dans les leçons précédentes, les variables sont de types différents. Le type détermine le genre de données qu'une variable peut contenir. Une variable Integer peut contenir uniquement des données numériques sans décimale. Une variable String peut contenir uniquement du texte.

Que se passe-t-il lorsque vous souhaitez afficher des données de type Integer dans un contrôle TextBox qui requiert un type String ? Le type de ces données doit être converti. Dans cette rubrique, vous examinerez la manière de convertir des données d'un type en un autre, et apprendrez quelques techniques de conversion de données, ainsi que certains des pièges communs en la matière.

Conversion de variables en texte

Chaque variable de Visual Basic peut être convertie en texte à l'aide d'une fonction spéciale appelée CStr (abréviation de Convert to String, convertir en chaîne). Cette fonction, comme son nom l'indique, retourne les données représentées par la variable sous la forme d'un type String. La procédure suivante montre un exemple simple de la conversion d'un type Integer en texte.

Essayez !

Pour convertir une variable en texte

  1. Dans le menu Fichier, cliquez sur NouveauProjet.

  2. Dans la boîte de dialogue Nouveau projet, dans le volet Modèles, cliquez sur Application Windows.

  3. Dans la zone Nom, tapez Conversion, puis cliquez sur OK.

    Un nouveau projet Windows Forms s'ouvre.

  4. Double-cliquez sur le formulaire pour ouvrir l'éditeur de code.

  5. Dans le gestionnaire d'événements Form1_Load, tapez le code suivant :

    Dim anInteger As Integer = 54
    MsgBox(CStr(anInteger))
    

    Ce code déclare une variable Integer nommée anInteger, lui affecte la valeur 54, convertit cette valeur en texte et l'affiche dans un message en appelant la fonction CStr.

  6. Appuyez sur F5 pour générer et exécuter votre application. Un message s'affiche et présente 54.

    Essayons autre chose pour nous amuser. Dans l'éditeur de code, changez la ligne du code MsgBox(CStr(anInteger)) pour lire MsgBox(anInteger), puis appuyez sur F5 pour l'exécuter. Que se passe-t-il ? Le programme se comporte exactement comme auparavant. Visual Basic est suffisamment intelligent pour savoir que vous souhaitez, en réalité, convertir le type Integer en un texte à afficher dans le message. Toutefois, ce comportement ne suffit pas à tous les cas ; de nombreux types de variable ne peuvent pas être convertis automatiquement. Par conséquent, il est recommandé d'utiliser systématiquement la fonction CStr, même lorsqu'une variable est convertie automatiquement en texte.

En plus de convertir les variables Integer en texte, la fonction CStr peut s'appliquer à tout type de données numériques, tel que Double ou Long. Elle peut également s'utiliser pour convertir les types de données Date et Boolean en texte. Pour plus d'informations sur les types de données, consultez Présentation détaillée : types de données.

Conversion entre types de données numériques

Comme vous l'avez appris dans cette leçon d'arithmétique, le résultat d'un calcul ne peut pas être exprimé sous la forme d'un type Integer. Tout comme Visual Basic dispose d'une fonction de conversion des nombres en texte, il dispose également de fonctions de conversion des variables d'un type de données numériques en un autre. Par exemple, vous pouvez utiliser la fonction CDbl (Convert to Double) dans une opération arithmétique pour retourner un nombre décimal lorsque vous travaillez avec des variables de type Integer. La procédure suivante illustre la manière d'utiliser la fonction CDbl pour la division de deux entiers.

Essayez !

Pour convertir des types de données numériques

  1. Dans l'éditeur de code, supprimez le code qui vous avez saisi dans la procédure précédente, puis tapez les éléments suivants :

    Dim A As Integer = 1
    Dim B As Integer = 2
    MsgBox(CDbl(A / B))
    

    Ce code déclare deux variables Integer (A et B), leur affecte les valeurs 1 et 2, puis convertit le résultat de la division (A / B) à l'aide de la fonction CDbl, et l'affiche dans un message.

  2. Appuyez sur F5 pour générer et exécuter votre application. Un message s'affiche et présente 0.5.

Visual Basic dispose également de fonctions destinées aux autres types de variables numériques. Par exemple, si vous ajoutez deux variables du type Double et souhaitez arrondir le résultat au nombre entier le plus proche, utilisez la fonction CInt. Les autres fonctions de conversion numérique sont notamment CByte, CDec, CLng et CShort. Pour obtenir une liste de toutes les fonctions de conversion disponibles dans Visual Basic, consultez Fonctions de conversion de types de données.

Étapes suivantes

Dans cette leçon, vous avez appris comment convertir des variables numériques en texte, et comment convertir différents types de variables numériques. Dans la leçon suivante, Comparaisons : utilisation d'expressions pour comparer des valeurs, vous apprendrez comment évaluer des expressions.

Voir aussi

Tâches

Arithmétique : création d'expressions avec des variables et opérateurs

Concepts

Présentation détaillée : types de données

Référence

Constantes Date Format pour les utilisateurs de Visual Basic 6.0

Autres ressources

Conversions de type en Visual Basic