12. มาตามคำขอ แปลงเลขจำนวนเต็ม เป็น คำอ่านภาษาไทย
ครั้งนี้ มาตามคำขอนะครับ สืบเนื่องจากโพสที่ 11 การแปลงตัวเลขจำนวนเต็มเป็นคำิ่านภาษาอังกฤษ และมีการร้องขอ การแปลงเลขจำนวนเต็มเป็นคำอ่านภาษาไทย โดยใช้คำทับศัพท์หรือคำคาราโอเกะ ในการแสดงผล ส่วนใครอยากได้คำอ่านภาษาไทยแท้ ๆ ก็แค่เปลี่ยนคำคาราโอเกะ เป็นภาษาไทยเท่านั้นครับ
หลักในการอ่านตัวเลขตามหลักภาษาไทย จะมีคำอ่านของหลักของตัวเลข เป็นคำเฉพาะ ได้แก่ สิบ ร้อย พัน หมื่น แสน ล้าน และมีคำอ่านเฉพาะของเลข 1 คือ ถ้าเป็นหลักหน่วย ให้อ่านว่า"เอ็ด" ถ้าเป็นหลักสิบ จะอ่านว่า"สิบ" ไม่ได้อ่าน"หนึ่งสิบ" ส่วนเลข 2 ถ้าเป็นหลักสิบ ให้อ่านว่า"ยี่" นอกเหนือจากนี้เป็นการอ่านตามชื่อของตัวเลขนั้น ๆ
ขั้นตอนวิธี
1. รอรับตัวเลขจำนวนเต็มจากผู้ใช้
2. แปลงตัวเลขดังกล่าวป็นข้อความ
3. คำนวณหาความยาวของตัวเลขที่รับเข้ามา
4. วนรอบ เท่ากับความยาวของตัวเลขที่ได้รับ แล้วทำสิ่งต่อไปนี้
1. ถ้า ความยาวมากกว่า 1 หลัก และ ตัวเลขตัวสุดท้าย เป็น 1
ให้เพิ่มข้อความ "เอ็ด" เข้าไปในผลลัพธ์
2. ไม่เช่นนั้น ถ้า ตัวเลขก่อนลำดับสุดท้าย เป็น 2
ให้เพิ่มข้อความ "ยี่" เข้าไปในผลลัพธ์
3. ไม่เช่นนั้น ถ้า ตัวเลขก่อนลำดับสุดท้าย เป็น 1
ไม่ต้องเพิ่มข้อความ ใด ๆ เข้าไปในผลลัพธ์
4. ไม่เช่นนั้น ให้เพิ่มข้อความ ซึ่งเป็นคำอ่านของตัวเลขนั้น ๆ เช่น คำว่า"หนึ่ง" เข้าไปในผลลัพธ์
และ เพิ่มข้อความ ซึ่งเป็นคำอ่านของหลักของตัวเลขนั้น ๆ เช่น คำว่า "ร้อย" เข้าไปในผลลัพธ์
5. เพิ่มข้อความเว้นวรรค เข้าไปคั่นระหว่าคำอ่านแต่ละคำในผลลัพธ์ที่ได้
6. แสดงผลออกทางจอภาพ
หากต้องการแสดงข้อความภาษาไทย ให้ไปที่เมนูToolt >> Options >> Theme & Font แล้วเปลี่ยน ในช่อง Editor และช่อง IO font ให้เป็นฟอนต์ Tahama เพียงเท่านี้ก็สามารถแสดงผลลัพธ์เป็นภาษาไทยได้แล้ว และกลับไปแก้ไขโค้ด 4 บรรทัด ดังนี้
******************