Ordinalzahlen in C# erstellen: eine bequeme Möglichkeit
Die Darstellung von Zahlen als Ordnungszahlen (z. B. 1., 2., 3. usw.) kann in C# eine Programmierherausforderung sein.
String.Format() kann implementiert werden?
Leider unterstützt String.Format() die Ordinalformatierung nicht direkt.
Lösung: Erstellen Sie eine benutzerdefinierte Funktion
Um Ordnungszahlen effizient zu generieren, können Sie eine benutzerdefinierte Funktion erstellen:
<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>
Beispielverwendung:
<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>
Internationalisierungshinweise:
Diese Methode gilt für englische Ordnungszahlen. Erwägen Sie für die Internationalisierung, die spezifischen Ordinalformate für jede Sprache zu recherchieren und die Funktion entsprechend anzupassen.
Das obige ist der detaillierte Inhalt vonWie kann ich in C# effizient Ordnungszahlen (z. B. 1., 2., 3.) erstellen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!