Maison >développement back-end >C++ >Comment puis-je générer facilement des nombres ordinaux (1er, 2e, 3e, etc.) en C# ?

Comment puis-je générer facilement des nombres ordinaux (1er, 2e, 3e, etc.) en C# ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2025-01-14 16:16:47781parcourir

How Can I Easily Generate Ordinal Numbers (1st, 2nd, 3rd, etc.) in C#?

Créez facilement des nombres ordinaux en C#

La création de nombres ordinaux directement en C# (par exemple, 1er, 2e, 3e) peut ne pas être directement prise en charge par String.Format() ou les fonctions existantes. Il existe cependant quelques moyens simples d’y parvenir.

Une solution consiste à utiliser une fonction personnalisée comme celle-ci :

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

    string number = num.ToString();
    if (num % 100 == 11 || num % 100 == 12 || num % 100 == 13)
    {
        return number + "th";
    }
    else
    {
        switch (num % 10)
        {
            case 1:
                return number + "st";
            case 2:
                return number + "nd";
            case 3:
                return number + "rd";
            default:
                return number + "th";
        }
    }
}</code>

Cette fonction reçoit un entier et vérifie son module pour déterminer le suffixe ordinal approprié ("st", "nd", "rd" ou "th"). Par exemple :

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

Il est à noter que ce code n'a pas été internationalisé et devra peut-être être ajusté pour d'autres langues où le format ordinal peut être différent. Le code amélioré gère les nombres 0 et négatifs, et gère plus précisément les nombres se terminant par 11, 12, 13.

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