Menu
Coddy logo textTech

Formatage de chaînes

Fait partie de la section Fondamentaux du Journey C# de Coddy — leçon 63 sur 69.

En C#, String.Format() est une méthode puissante utilisée pour créer des chaînes formatées. Elle permet de combiner du texte avec des variables de manière lisible et personnalisable. Cette méthode utilise des spécificateurs de format pour définir comment les variables doivent être insérées dans la chaîne.

Apprenons à utiliser le formatage de chaînes en C# :

La syntaxe de base de String.Format() est :

string formattedString = String.Format("format_string", arg0, arg1, ...);

Où :

  • format_string : Une chaîne qui contient du texte et des spécificateurs de format.
  • arg0, arg1, ... : Les variables à insérer dans la format_string.

Regardons les spécificateurs de format. Les nombres dans les accolades font référence à la position des arguments :

  • {0}: Fait référence au premier argument (arg0)
  • {1}: Fait référence au deuxième argument (arg1)
  • {2}: Fait référence au troisième argument (arg2)
  • Et ainsi de suite...

Essayons un exemple simple avec différents types d'arguments :

string name = "Alice";
int age = 30;
double price = 19.99;

string formatted = String.Format("Name: {0}, Age: {1}, Price: {2}", name, age, price);
Console.WriteLine(formatted);

Après l'exécution de ce code, vous verrez à l'écran : Name: Alice, Age: 30, Price: 19.99

Vous pouvez également contrôler davantage le formatage avec des spécificateurs de format après un deux-points. Le spécificateur de format se compose d'une lettre (comme F pour décimal à point fixe) suivie d'un nombre optionnel pour la précision :

// Format a number with 2 decimal places
double number = 123.4567;
string formatted = String.Format("The value is {0:F2}", number);
Console.WriteLine(formatted);

Après l'exécution de ce code, vous verrez à l'écran : The value is 123.46

Vous pouvez utiliser F1, F2, F3, etc. pour spécifier différents nombres de places décimales

challenge icon

Défi

Facile

Créez une méthode nommée CreateFormattedString qui prend les arguments suivants :

  1. Une chaîne productName.
  2. Un entier quantity.
  3. Un double unitPrice.

La méthode doit retourner une chaîne formatée qui combine ces valeurs dans le format suivant :

Product: [productName], Quantity: [quantity], Unit Price: [unitPrice]

Formatez le unitPrice sur cinq décimales, le quantity avec une décimale (convertissez-le en double), et le premier caractère de productName doit être en majuscule.

Par exemple, si productName est "laptop", quantity est 3, et unitPrice est 1299.9999, la méthode doit retourner :

Product: Laptop, Quantity: 3.0, Unit Price: 1299.99990

Pour extraire le premier caractère tout en le maintenant en type String plutôt qu'en type char, utilisez : str.Substring(0,1)

Aide-mémoire

La méthode String.Format() crée des chaînes formatées en combinant du texte avec des variables en utilisant des spécificateurs de format.

Syntaxe de base :

string formattedString = String.Format("format_string", arg0, arg1, ...);

Les spécificateurs de format utilisent des accolades avec des numéros de position :

  • {0} : Premier argument
  • {1} : Deuxième argument
  • {2} : Troisième argument

Exemple avec plusieurs types de données :

string name = "Alice";
int age = 30;
double price = 19.99;

string formatted = String.Format("Name: {0}, Age: {1}, Price: {2}", name, age, price);
Console.WriteLine(formatted); // Output: Name: Alice, Age: 30, Price: 19.99

Spécificateurs de format avec contrôle de précision en utilisant les deux-points :

double number = 123.4567;
string formatted = String.Format("The value is {0:F2}", number);
Console.WriteLine(formatted); // Output: The value is 123.46

Vous pouvez utiliser F1, F2, F3, etc. pour spécifier différents nombres de décimales

Pour extraire le premier caractère sous forme de chaîne : str.Substring(0,1)

Essayez vous-même

using System;

public class Program {
    public static string CreateFormattedString(string productName, int quantity, double unitPrice) {
        // Écrivez votre code ici
    }

    public static void Main(string[] args) {
        string product = Console.ReadLine();
        int qty = int.Parse(Console.ReadLine());
        double price = double.Parse(Console.ReadLine());
        string formattedString = CreateFormattedString(product, qty, price);
        Console.WriteLine(formattedString);
    }
}
quiz iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

Toutes les leçons de Fondamentaux