Maison >développement back-end >C++ >Comment puis-je créer efficacement des nombres ordinaux (1er, 2e, 3e, etc.) en C# ?
C# n'offre pas de fonction intégrée (comme String.Format()
) pour créer directement des nombres ordinaux (1er, 2e, 3e, etc.). Cependant, une simple fonction personnalisée fournit une solution propre.
Voici un exemple concis :
<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>
Cette fonction gère efficacement les nombres positifs et négatifs. Pour les nombres positifs, il détermine le suffixe ordinal correct (« st », « nd », « rd » ou « th ») en fonction du dernier chiffre et des deux derniers chiffres. Les nombres négatifs sont renvoyés inchangés car ils n'ont pas de forme ordinale standard. N'oubliez pas que cette fonction est spécifique aux ordinaux anglais ; l'internationalisation nécessiterait une solution plus complexe.
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!