C#中輕鬆建立序數
在C#中直接建立序數(例如,1st、2nd、3rd)可能不受String.Format()或現有函數的直接支援。但是,有一些簡單的方法可以實現這一點。
一種方法是使用如下所示的自訂函數:
<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>
此函數接收一個整數並檢查其模數以確定適當的序數後綴(“st”、“nd”、“rd”或“th”)。例如:
<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>
要注意的是,這段程式碼沒有進行國際化處理,對於序數格式可能不同的其他語言,可能需要進行調整。 改進後的程式碼處理了0和負數的情況,並更準確地處理了11, 12, 13結尾的數字。
以上是如何在 C# 中輕鬆產生序數(第一、第二、第三等)?的詳細內容。更多資訊請關注PHP中文網其他相關文章!