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

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

Barbara Streisand
リリース: 2025-01-14 16:42:48
オリジナル
883 人が閲覧しました

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

C# での序数の生成

C# には、序数 (1st、2nd、3rd など) を直接作成するための組み込み関数 (String.Format() など) がありません。 ただし、単純なカスタム関数を使用すると、クリーンなソリューションが提供されます。

これは簡潔な例です:

<code class="language-csharp">public static string ToOrdinal(int num)
{
    if (num <= 0) return num.ToString();

    string suffix = "";
    int lastDigit = num % 10;
    int lastTwoDigits = num % 100;

    if (lastTwoDigits >= 11 && lastTwoDigits <= 13) suffix = "th";
    else if (lastDigit == 1) suffix = "st";
    else if (lastDigit == 2) suffix = "nd";
    else if (lastDigit == 3) suffix = "rd";
    else suffix = "th";

    return num + suffix;
}</code>
ログイン後にコピー

この関数は、正の数と負の数の両方を効率的に処理します。 正の数値の場合は、最後の桁と最後の 2 桁に基づいて正しい順序接尾辞 (「st」、「nd」、「rd」、または「th」) が決定されます。負の数値は標準の序数形式を持たないため、変更されずに返されます。 この関数は英語の序数に固有であることに注意してください。 国際化には、より複雑なソリューションが必要になります。

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

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