Créer des ordinals facilement en C#

Lorsque vous travaillez avec des nombres, vous pourriez vouloir les afficher sous forme d’ordinals — quelque chose qui indique leur position dans une séquence, comme le 1er, le 2e ou le 3e. Si vous êtes un développeur C# et que vous vous êtes demandé s’il existe un moyen simple de générer ces ordinals, vous n’êtes pas seul.

Dans cet article de blog, nous aborderons comment créer des ordinals en C# et fournirons une fonction simple pour y parvenir. Décomposons cela étape par étape.

Comprendre les ordinals

Les ordinals représentent le rang ou la position de quelque chose dans un ensemble. Par exemple :

  • 1 est représenté comme 1er
  • 2 est représenté comme 2e
  • 3 est représenté comme 3e

Le défi

Bien que C# offre une variété d’options de formatage via String.Format(), vous avez peut-être remarqué qu’il ne comprend pas de fonctionnalité intégrée pour créer des nombres ordinaux. Cela peut être un inconvénient, mais ce n’est pas insurmontable.

Implémenter des ordinals en C#

Au lieu de compter sur des fonctions intégrées, vous pouvez créer une fonction simple pour convertir des entiers en leur représentation sous forme de chaîne ordinal. Voici comment procéder.

Voici le code

Vous voudrez créer une méthode statique dans votre projet C# :

public static string AddOrdinal(int num)
{
    if(num <= 0) return num.ToString();

    switch(num % 100)
    {
        case 11:
        case 12:
        case 13:
            return num + "th";
    }

    switch(num % 10)
    {
        case 1:
            return num + "st";
        case 2:
            return num + "nd";
        case 3:
            return num + "rd";
        default:
            return num + "th";
    }
}

Explication du code

  1. Validation de l’entrée :

    • La fonction vérifie d’abord si le nombre est inférieur ou égal à zéro. Si c’est le cas, elle renvoie simplement le nombre en tant que chaîne, puisque les ordinals n’existent pas pour des valeurs inférieures ou égales à zéro.
  2. Gestion des cas spéciaux :

    • La fonction prend en compte les exceptions liées aux nombres se terminant par 11, 12 et 13 (comme 11e, 12e et 13e).
  3. Détermination du suffixe :

    • Elle vérifie ensuite le dernier chiffre du nombre pour déterminer le suffixe approprié :
      • “st” pour 1
      • “nd” pour 2
      • “rd” pour 3
      • “th” pour tous les autres

Exemple d’utilisation

Vous pouvez appeler cette fonction de n’importe où dans votre code C# comme ceci :

string firstOrdinal = AddOrdinal(1); // Affiche "1er"
string secondOrdinal = AddOrdinal(2); // Affiche "2e"
string eleventhOrdinal = AddOrdinal(11); // Affiche "11e"

Conclusion

Créer des ordinals en C# est simple avec une fonction personnalisée. Bien que le framework .NET ne propose pas actuellement de manière intégrée de formater facilement les ordinals, la méthode partagée ci-dessus vous permettra d’ajouter cette fonctionnalité avec un minimum d’effort.

N’oubliez pas que cette implémentation n’est pas internationalisée, ce qui signifie qu’elle ne fonctionne que pour les ordinals en anglais. Assurez-vous de tester et d’étendre cela si votre application nécessite un support pour d’autres langues !

Pour résumer, avec juste un peu de code, vous pouvez ajouter une fonctionnalité pour créer des ordinals en C#, améliorant à la fois la fonctionnalité et l’expérience utilisateur dans vos applications.