Créez facilement des nombres ordinaux en C#
La création de nombres ordinaux directement en C# (par exemple, 1er, 2e, 3e) peut ne pas être directement prise en charge par String.Format() ou les fonctions existantes. Il existe cependant quelques moyens simples d’y parvenir.
Une solution consiste à utiliser une fonction personnalisée comme celle-ci :
<code class="language-csharp">public static string AddOrdinal(int num) { if (num <= 0) return num.ToString(); // 处理0和负数 string number = num.ToString(); if (num % 100 == 11 || num % 100 == 12 || num % 100 == 13) { return number + "th"; } else { switch (num % 10) { case 1: return number + "st"; case 2: return number + "nd"; case 3: return number + "rd"; default: return number + "th"; } } }</code>
Cette fonction reçoit un entier et vérifie son module pour déterminer le suffixe ordinal approprié ("st", "nd", "rd" ou "th"). Par exemple :
<code class="language-csharp">Console.WriteLine(AddOrdinal(1)); // 输出:1st Console.WriteLine(AddOrdinal(2)); // 输出:2nd Console.WriteLine(AddOrdinal(3)); // 输出:3rd Console.WriteLine(AddOrdinal(11)); // 输出:11th Console.WriteLine(AddOrdinal(12)); // 输出:12th Console.WriteLine(AddOrdinal(13)); // 输出:13th Console.WriteLine(AddOrdinal(24)); // 输出:24th Console.WriteLine(AddOrdinal(0)); // 输出:0 Console.WriteLine(AddOrdinal(-5)); // 输出:-5</code>
Il est à noter que ce code n'a pas été internationalisé et devra peut-être être ajusté pour d'autres langues où le format ordinal peut être différent. Le code amélioré gère les nombres 0 et négatifs, et gère plus précisément les nombres se terminant par 11, 12, 13.
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!