แปลงเลขไทย และจำนวนเงินเป็นคำอ่าน

สลับเลขอารบิกกับเลขไทยได้ทั้งย่อหน้า และเขียนยอดเงินเป็นตัวอักษร ครบทั้งบาท สตางค์ และถ้วน ใช้เทียบกับผลจากโค้ดตอนทำใบเสร็จ ใบกำกับภาษี หรือหนังสือราชการ

แปลงเลขไทย

ทิศทางการแปลง

เปลี่ยนเฉพาะตัวเลข ตัวอักษร เครื่องหมาย และการเว้นวรรคอยู่ที่เดิม ข้อความแปลงในเบราว์เซอร์นี้ ไม่ได้ส่งไปที่ไหน

จำนวนเงินเป็นคำอ่าน

หนึ่งพันสองร้อยห้าสิบบาทห้าสิบสตางค์

อ่านจากยอด 1,250.50 บาท · เลขไทย ๑,๒๕๐.๕๐

อ่านยอดเงินตามหลักไหน

หน้านี้อ่านตามหลักของราชบัณฑิตยสถาน ถ้าผลจากระบบเดิมไม่ตรงกับหน้านี้ มักต่างกันที่จุดใดจุดหนึ่งด้านล่าง

เอ็ด
เลข 1 ในหลักหน่วยที่มีเลขอื่นนำหน้า อ่านว่าเอ็ด ส่วนเลข 1 ตัวเดียวอ่านว่าหนึ่ง
  • 11 สิบเอ็ด
  • 101 หนึ่งร้อยเอ็ด
  • 1,000,001 หนึ่งล้านเอ็ด
ยี่สิบ
เลข 2 ในหลักสิบอ่านว่ายี่ และเลข 1 ในหลักสิบอ่านแค่สิบ
  • 20 ยี่สิบ
  • 21 ยี่สิบเอ็ด
  • 110 หนึ่งร้อยสิบ
ล้าน
ทุกหกหลักต่อคำว่าล้านเพิ่มอีกหนึ่งคำ จึงอ่านได้ทุกขนาด
  • 21,000,000 ยี่สิบเอ็ดล้าน
  • 1,000,000,000,000 หนึ่งล้านล้าน
สตางค์
เก็บสองตำแหน่ง ตำแหน่งที่สามตั้งแต่ 5 ขึ้นไปปัดขึ้น และปัดจนครบบาทได้
  • 1.005 หนึ่งบาทหนึ่งสตางค์
  • 0.995 หนึ่งบาทถ้วน
ถ้วน
ต่อท้ายเมื่อไม่มีสตางค์ ส่วนยอดที่มีแต่สตางค์ก็ไม่มีบาท
  • 500 ห้าร้อยบาทถ้วน
  • 0.75 เจ็ดสิบห้าสตางค์
ศูนย์ และติดลบ
ยอดติดลบขึ้นต้นด้วยลบ ยกเว้นยอดที่ปัดแล้วเหลือศูนย์
  • 0 ศูนย์บาทถ้วน
  • -250 ลบสองร้อยห้าสิบบาทถ้วน

ทำไมคิดสตางค์จากตัวอักษร ไม่ใช่จาก float

ใน JavaScript Math.round(1.005 * 100) ได้ 100 ไม่ใช่ 101 เพราะ 1.005 เก็บเป็นเลขฐานสองได้แค่ 1.00499999… หน้านี้จึงอ่านยอดเป็นข้อความ แยกบาทกับสตางค์ก่อน แล้วค่อยปัดเศษ ใน PHP ก็เจอแบบเดียวกัน ถ้ารับยอดมาเป็น float

ฝั่งฐานข้อมูล เก็บยอดเงินเป็น decimal(12,2) หรือเป็นจำนวนสตางค์แบบ integer จะปลอดภัยกว่า

เลขไทยใน PHP และ Laravel

ถ้าเลขที่ต้องเป็นเลขไทยคือวันที่ในเอกสาร แพ็กเกจ thaidate ที่เราแบ่งปันให้ชุมชนนำไปใช้และต่อยอดได้อย่างอิสระ พิมพ์ออกมาเป็นเลขไทยได้ ตั้งแต่ v14 ผ่าน thaiDigits: true

composer require phattarachai/thaidate
echo thaidate('j F พ.ศ. Y', '2026-10-12', thaiDigits: true);
// ๑๒ ตุลาคม พ.ศ. ๒๕๖๙

echo $invoice->issued_at->thaidate('วันที่ j F Y', thaiDigits: true);
// วันที่ ๑๒ ตุลาคม ๒๕๖๙

ดูโค้ดบน GitHubส่วนยอดเงินเป็นคำอ่านใน PHP ดูที่ PHP function แสดงค่าเงินบาทเป็นภาษาไทย

เปลี่ยนเฉพาะเลขที่มาจากวันที่ ข้อความใน format อยู่เหมือนเดิม

เครื่องมืออื่น

ดูทั้งหมด

มีงานอยากให้ช่วย เล่าให้เราฟัง

บอกสั้น ๆ ว่าอยากทำอะไร หรือระบบเดิมติดตรงไหน เดี๋ยวเราติดต่อกลับทางที่คุณสะดวก

คุยโปรเจกต์

หรืออีเมลถึงเราโดยตรง [email protected]