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

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

Barbara Streisand
Barbara Streisandasal
2025-01-14 16:42:48883semak imbas

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

Menjana Nombor Ordinal dalam C#

C# tidak menawarkan fungsi terbina dalam (seperti String.Format()) untuk terus mencipta nombor ordinal (1, 2, 3, dsb.). Walau bagaimanapun, fungsi tersuai yang mudah memberikan penyelesaian yang bersih.

Berikut ialah contoh ringkas:

<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>

Fungsi ini mengendalikan kedua-dua nombor positif dan negatif dengan cekap. Untuk nombor positif, ia menentukan akhiran ordinal yang betul ("st", "nd", "rd", atau "th") berdasarkan digit terakhir dan dua digit terakhir. Nombor negatif dikembalikan tidak berubah kerana ia tidak mempunyai bentuk ordinal standard. Ingat fungsi ini khusus untuk ordinal bahasa Inggeris; pengantarabangsaan memerlukan penyelesaian yang lebih kompleks.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mencipta Nombor Ordinal dengan Cekap (1, 2, 3, dll.) 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