การสร้าง Ordinals อย่างง่ายใน C#

เมื่อทำงานกับตัวเลข คุณอาจต้องการแสดงผลในรูปแบบ ordinals ซึ่งบ่งบอกถึงตำแหน่งของมันในลำดับ เช่น 1st, 2nd หรือ 3rd หากคุณเป็นนักพัฒนา C# และสงสัยว่ามีวิธีง่าย ๆ ในการสร้างตัวเลข ordinals เหล่านี้หรือไม่ คุณไม่ได้อยู่คนเดียว

ในบล็อกโพสต์นี้ เราจะพูดถึงวิธีการสร้าง ordinals ใน C# และนำเสนอฟังก์ชันง่าย ๆ เพื่อทำสิ่งนี้ มาเริ่มกันทีละขั้นตอน

การทำความเข้าใจ Ordinals

Ordinals แทนตำแหน่งหรือระดับของสิ่งต่าง ๆ ในชุดข้อมูล ตัวอย่างเช่น:

  • 1 ถูกแทนด้วย 1st
  • 2 ถูกแทนด้วย 2nd
  • 3 ถูกแทนด้วย 3rd

ความท้าทาย

แม้ว่า C# จะมีตัวเลือกการจัดรูปแบบที่หลากหลายผ่าน String.Format() แต่คุณอาจสังเกตเห็นว่าไม่มีฟีเจอร์ในตัวสำหรับการสร้างหมายเลข ordinal ซึ่งอาจสร้างความไม่สะดวก แต่ก็ไม่ใช่ปัญหาที่ไม่สามารถจัดการได้

การนำ Ordinals มาใช้ใน C#

แทนที่จะพึ่งพาฟังก์ชันในตัว คุณสามารถสร้างฟังก์ชันง่าย ๆ เพื่อแปลงจำนวนเต็มเป็นการแทนค่าของสตริง ordinal ได้ วิธีการทำมีดังนี้

นี่คือรหัส

คุณจะต้องสร้างเมธอดสแตติกในโปรเจ็กต์ C# ของคุณ:

public static string AddOrdinal(int num)
{
    if(num <= 0) return num.ToString();

    switch(num % 100)
    {
        case 11:
        case 12:
        case 13:
            return num + "th";
    }

    switch(num % 10)
    {
        case 1:
            return num + "st";
        case 2:
            return num + "nd";
        case 3:
            return num + "rd";
        default:
            return num + "th";
    }
}

คำอธิบายรหัส

  1. การตรวจสอบข้อมูลนำเข้า:

    • ฟังก์ชันจะตรวจสอบก่อนว่าหมายเลขนั้นน้อยกว่าหรือเท่ากับศูนย์ หากหมายเลขน้อยกว่าหรือเท่ากับศูนย์ ฟังก์ชันจะคืนค่าหมายเลขนั้นในรูปแบบสตริง เนื่องจากไม่สามารถสร้าง ordinals สำหรับค่าที่น้อยกว่าหรือเท่ากับศูนย์
  2. การจัดการกรณีพิเศษ:

    • ฟังก์ชันจะพิจารณาถึงข้อยกเว้นที่เกี่ยวข้องกับตัวเลขที่สิ้นสุดด้วย 11, 12, และ 13 (เช่น 11th, 12th และ 13th)
  3. การกำหนด Suffix:

    • จากนั้นจะตรวจสอบหลักสุดท้ายของหมายเลขเพื่อตัดสินใจเกี่ยวกับ suffix ที่เหมาะสม:
      • “st” สำหรับ 1
      • “nd” สำหรับ 2
      • “rd” สำหรับ 3
      • “th” สำหรับตัวเลขอื่น ๆ ทั้งหมด

ตัวอย่างการใช้งาน

คุณสามารถเรียกใช้ฟังก์ชันนี้จากที่ใดก็ได้ในรหัส C# ของคุณเช่นนี้:

string firstOrdinal = AddOrdinal(1); // แสดงผล "1st"
string secondOrdinal = AddOrdinal(2); // แสดงผล "2nd"
string eleventhOrdinal = AddOrdinal(11); // แสดงผล "11th"

สรุป

การสร้าง ordinals ใน C# เป็นเรื่องง่ายด้วยฟังก์ชันที่กำหนดเอง แม้ว่า .NET framework จะไม่มีวิธีในตัวในการจัดรูปแบบ ordinals ได้ง่ายในขณะนี้ แต่เมธอดที่แชร์ข้างต้นจะช่วยให้คุณเพิ่มฟังก์ชันการทำงานนี้ได้อย่างง่ายดาย

อย่าลืมว่าการใช้งานนี้ยังไม่รองรับหลายภาษา หมายความว่าใช้งานได้เพียง ordinal ภาษาอังกฤษเท่านั้น คุณควรทดสอบและขยายฟังก์ชันนี้หากแอปพลิเคชันของคุณต้องการรองรับภาษ อื่น ๆ!

สรุปคือ เพียงแค่มีโค้ดเล็กน้อย คุณสามารถเพิ่มฟังก์ชันการทำงานในการสร้าง ordinals ใน C# ซึ่งจะช่วยเพิ่มฟังก์ชันการทำงานและประสบการณ์ของผู้ใช้ในแอปพลิเคชันของคุณ