Créer des nombres ordinaux en C# : un moyen pratique
Représenter des nombres sous forme de nombres ordinaux (par exemple, 1er, 2e, 3e, etc.) peut être un défi de programmation en C#.
String.Format() peut être implémenté ?
Malheureusement, String.Format() ne prend pas directement en charge le formatage ordinal.
Solution : Créer une fonction personnalisée
Pour générer efficacement des nombres ordinaux, vous pouvez créer une fonction personnalisée :
<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>
Exemple d'utilisation :
<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>
Instructions d'internationalisation :
Cette méthode concerne les nombres ordinaux anglais. Pour l'internationalisation, envisagez de rechercher les formats ordinaux spécifiques à chaque langue et d'adapter la fonction en conséquence.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!