Maison >développement back-end >C++ >Comment puis-je créer efficacement des nombres ordinaux (par exemple, 1er, 2e, 3e) en C# ?

Comment puis-je créer efficacement des nombres ordinaux (par exemple, 1er, 2e, 3e) en C# ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2025-01-14 16:22:47520parcourir

How Can I Efficiently Create Ordinal Numbers (e.g., 1st, 2nd, 3rd) in C#?

Créer des nombres ordinaux en C# : un moyen pratique

Représenter des nombres sous forme de nombres ordinaux (par exemple, 1er, 2e, 3e, etc.) peut être un défi de programmation en C#.

String.Format() peut être implémenté ?

Malheureusement, String.Format() ne prend pas directement en charge le formatage ordinal.

Solution : Créer une fonction personnalisée

Pour générer efficacement des nombres ordinaux, vous pouvez créer une fonction personnalisée :

<code class="language-csharp">public static string AddOrdinal(int num)
{
    if (num <= 0) return num.ToString(); //处理0及负数

    string number = num.ToString();
    int lastDigit = num % 10;
    int lastTwoDigits = num % 100;

    if (lastTwoDigits >= 11 && lastTwoDigits <= 13)
    {
        return number + "th";
    }
    else if (lastDigit == 1)
    {
        return number + "st";
    }
    else if (lastDigit == 2)
    {
        return number + "nd";
    }
    else if (lastDigit == 3)
    {
        return number + "rd";
    }
    else
    {
        return number + "th";
    }
}</code>

Exemple d'utilisation :

<code class="language-csharp">Console.WriteLine(AddOrdinal(1));  // 输出 "1st"
Console.WriteLine(AddOrdinal(2));  // 输出 "2nd"
Console.WriteLine(AddOrdinal(3));  // 输出 "3rd"
Console.WriteLine(AddOrdinal(12)); // 输出 "12th"
Console.WriteLine(AddOrdinal(21)); // 输出 "21st"
Console.WriteLine(AddOrdinal(0));  // 输出 "0"
Console.WriteLine(AddOrdinal(-5)); // 输出 "-5"</code>

Instructions d'internationalisation :

Cette méthode concerne les nombres ordinaux anglais. Pour l'internationalisation, envisagez de rechercher les formats ordinaux spécifiques à chaque langue et d'adapter la fonction en conséquence.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn