การสร้าง 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";
}
}
คำอธิบายรหัส
-
การตรวจสอบข้อมูลนำเข้า:
- ฟังก์ชันจะตรวจสอบก่อนว่าหมายเลขนั้นน้อยกว่าหรือเท่ากับศูนย์ หากหมายเลขน้อยกว่าหรือเท่ากับศูนย์ ฟังก์ชันจะคืนค่าหมายเลขนั้นในรูปแบบสตริง เนื่องจากไม่สามารถสร้าง ordinals สำหรับค่าที่น้อยกว่าหรือเท่ากับศูนย์
-
การจัดการกรณีพิเศษ:
- ฟังก์ชันจะพิจารณาถึงข้อยกเว้นที่เกี่ยวข้องกับตัวเลขที่สิ้นสุดด้วย 11, 12, และ 13 (เช่น 11th, 12th และ 13th)
-
การกำหนด Suffix:
- จากนั้นจะตรวจสอบหลักสุดท้ายของหมายเลขเพื่อตัดสินใจเกี่ยวกับ suffix ที่เหมาะสม:
- “st” สำหรับ 1
- “nd” สำหรับ 2
- “rd” สำหรับ 3
- “th” สำหรับตัวเลขอื่น ๆ ทั้งหมด
- จากนั้นจะตรวจสอบหลักสุดท้ายของหมายเลขเพื่อตัดสินใจเกี่ยวกับ suffix ที่เหมาะสม:
ตัวอย่างการใช้งาน
คุณสามารถเรียกใช้ฟังก์ชันนี้จากที่ใดก็ได้ในรหัส C# ของคุณเช่นนี้:
string firstOrdinal = AddOrdinal(1); // แสดงผล "1st"
string secondOrdinal = AddOrdinal(2); // แสดงผล "2nd"
string eleventhOrdinal = AddOrdinal(11); // แสดงผล "11th"
สรุป
การสร้าง ordinals ใน C# เป็นเรื่องง่ายด้วยฟังก์ชันที่กำหนดเอง แม้ว่า .NET framework จะไม่มีวิธีในตัวในการจัดรูปแบบ ordinals ได้ง่ายในขณะนี้ แต่เมธอดที่แชร์ข้างต้นจะช่วยให้คุณเพิ่มฟังก์ชันการทำงานนี้ได้อย่างง่ายดาย
อย่าลืมว่าการใช้งานนี้ยังไม่รองรับหลายภาษา หมายความว่าใช้งานได้เพียง ordinal ภาษาอังกฤษเท่านั้น คุณควรทดสอบและขยายฟังก์ชันนี้หากแอปพลิเคชันของคุณต้องการรองรับภาษ อื่น ๆ!
สรุปคือ เพียงแค่มีโค้ดเล็กน้อย คุณสามารถเพิ่มฟังก์ชันการทำงานในการสร้าง ordinals
ใน C# ซึ่งจะช่วยเพิ่มฟังก์ชันการทำงานและประสบการณ์ของผู้ใช้ในแอปพลิเคชันของคุณ