ホームページ > バックエンド開発 > C++ > C# で序数 (1st、2nd、3rd など) を簡単に生成するにはどうすればよいですか?

C# で序数 (1st、2nd、3rd など) を簡単に生成するにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2025-01-14 16:16:47
オリジナル
730 人が閲覧しました

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

C# で序数を簡単に作成する

C# で直接序数 (1st、2nd、3rd など) を作成することは、String.Format() または既存の関数では直接サポートされていない可能性があります。ただし、これを実現する簡単な方法がいくつかあります。

1 つの方法は、次のようなカスタム関数を使用することです:

<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>
ログイン後にコピー

この関数は整数を受け取り、その係数をチェックして適切な序数接尾辞 (「st」、「nd」、「rd」、または「th」) を決定します。例:

<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>
ログイン後にコピー

このコードは国際化されていないため、序数形式が異なる他の言語用に調整する必要がある場合があることに注意してください。 改良されたコードでは、0 と負の数値を処理し、11、12、13 で終わる数値をより正確に処理できるようになりました。

以上がC# で序数 (1st、2nd、3rd など) を簡単に生成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート