Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah Saya Boleh Mencipta Nombor Ordinal dengan Cekap (cth., 1, 2, 3) dalam C#?

Bagaimanakah Saya Boleh Mencipta Nombor Ordinal dengan Cekap (cth., 1, 2, 3) dalam C#?

Mary-Kate Olsen
Mary-Kate Olsenasal
2025-01-14 16:22:47520semak imbas

How Can I Efficiently Create Ordinal Numbers (e.g., 1st, 2nd, 3rd) in C#?

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn