Mencipta nombor ordinal dalam C#: cara yang mudah
Mewakili nombor sebagai nombor ordinal (cth., 1, 2, 3, dll.) boleh menjadi cabaran pengaturcaraan dalam C#.
String.Format() boleh dilaksanakan?
Malangnya, String.Format() tidak menyokong pemformatan ordinal secara langsung.
Penyelesaian: Cipta fungsi tersuai
Untuk menjana nombor ordinal dengan cekap, anda boleh mencipta fungsi tersuai:
<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>
Contoh penggunaan:
<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>
Arahan pengantarabangsaan:
Kaedah ini adalah untuk nombor ordinal bahasa Inggeris. Untuk pengantarabangsaan, pertimbangkan untuk menyelidik format ordinal khusus untuk setiap bahasa dan menyesuaikan fungsi tersebut dengan sewajarnya.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mencipta Nombor Ordinal dengan Cekap (cth., 1, 2, 3) dalam C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!