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 サイトの他の関連記事を参照してください。