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

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

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

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

C# で序数を作成する: 便利な方法

数値を序数 (1 位、2 位、3 位など) として表現することは、C# でのプログラミングの課題になる可能性があります。

String.Format() は実装できますか?

残念ながら、String.Format() は序数の書式設定を直接サポートしていません。

解決策: カスタム関数を作成します

序数を効率的に生成するには、カスタム関数を作成できます:

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

使用例:

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

国際化手順:

このメソッドは英語の序数用です。国際化の場合は、各言語の特定の序数形式を調査し、それに応じて関数を適応させることを検討してください。

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

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