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