แปลงตัวเลขเป็นภาษาไทย ออนไลน์ฟรี! เครื่องมือสำคัญที่ต้องรู้ปี 2026

number-to-thai-text

RECOMMENDED GEARS

สินค้าไอทีแนะนำ ราคาสุดคุ้มจาก Shopee

Official Partner
Product 1
แผ่นรองเมาส์ คีย์ลัดไทย ขนาดใหญ่ 80X30 cm
78
🛒 ไปที่ร้านค้า
Product 2
FANTECH WIRELESS MOUSE ประกันศูนย์ไทย
359
🛒 ไปที่ร้านค้า
Product 3
Bajiss คีย์บอร์ดเกมมิ่งมีสาย ไฟ RGB สวยงาม
189
🛒 ไปที่ร้านค้า
Product 4
FANTECH หูฟังเกมมิ่งไร้สาย เสียงคมชัด ตัดเสียงรบกวน
899
🛒 ไปที่ร้านค้า

สารบัญ

  1. แปลงตัวเลขเป็นภาษาไทย คืออะไร?
  2. ใครต้องใช้การแปลงตัวเลขเป็นภาษาไทยบ้าง?
  3. ทดลองแปลงตัวเลขเป็นภาษาไทยออนไลน์ฟรี
  4. หลักการอ่านตัวเลขเป็นภาษาไทยที่ถูกต้อง
  5. กฎพิเศษที่มักเข้าใจผิด
  6. Code JavaScript แปลงตัวเลขเป็นภาษาไทย
  7. นำไปใช้กับ Google Apps Script ใน Google Sheets
  8. คำถามที่พบบ่อย
  9. สรุป

แปลงตัวเลขเป็นภาษาไทย คืออะไร?

การแปลงตัวเลขเป็นภาษาไทย คือการเปลี่ยนตัวเลขอารบิก เช่น 1,234,567 ให้กลายเป็นข้อความภาษาไทยว่า หนึ่งล้านสองแสนสามหมื่นสี่พันห้าร้อยหกสิบเจ็ดบาทถ้วน ซึ่งเป็นรูปแบบมาตรฐานที่กฎหมายและราชการไทยกำหนดให้ใช้ในเอกสารทางการเงิน

ระบบการนับเลขภาษาไทยมีโครงสร้างที่เป็นเอกลักษณ์ โดยใช้หน่วย หนึ่ง สิบ ร้อย พัน หมื่น แสน และล้าน ซึ่งแตกต่างจากภาษาอังกฤษที่ใช้ระบบ thousand และ million ทำให้การแปลงต้องอาศัยความเข้าใจโครงสร้างภาษาไทยโดยเฉพาะ

การแปลงตัวเลขเป็นภาษาไทยที่ถูกต้องจึงไม่ใช่แค่การแทนที่ตัวเลขด้วยคำ แต่ต้องเข้าใจกฎไวยากรณ์ไทยที่มีความเฉพาะตัวหลายข้อ ซึ่งจะอธิบายในส่วนถัดไป

ใครต้องใช้การแปลงตัวเลขเป็นภาษาไทยบ้าง?

กลุ่มธุรกิจและบัญชี

กลุ่มที่ต้องการแปลงตัวเลขเป็นภาษาไทยมากที่สุดคือนักบัญชีและเจ้าของธุรกิจ เพราะในประเทศไทยมีข้อกำหนดทางกฎหมายว่าเอกสารทางการเงินหลายประเภทต้องระบุจำนวนเงินทั้งเป็นตัวเลขและตัวอักษรควบคู่กัน เช่น เช็คธนาคาร ใบเสร็จรับเงิน และใบกำกับภาษี

กลุ่มนักพัฒนาซอฟต์แวร์

นักพัฒนาที่สร้างระบบบัญชี ERP หรือแอปพลิเคชันทางการเงินสำหรับตลาดไทยต้องการ Function แปลงตัวเลขเป็นภาษาไทยเกือบทุกโปรเจกต์ โดยเฉพาะผู้ที่ใช้ Google Apps Script สร้าง Automation ใน Google Sheets

กลุ่มราชการและการศึกษา

หน่วยงานราชการและสถาบันการศึกษาต้องใช้การแปลงตัวเลขเป็นภาษาไทยในเอกสารต่างๆ อยู่เสมอ ไม่ว่าจะเป็นคำสั่ง ประกาศ หรือหนังสือราชการที่ต้องระบุวงเงินงบประมาณเป็นภาษาไทย

ทดลองแปลงตัวเลขเป็นภาษาไทยออนไลน์ฟรี

เครื่องมือแปลงตัวเลขเป็นภาษาไทยด้านบนพัฒนาโดย reviewderkub.com ใช้งานได้ทันทีไม่ต้องติดตั้ง รองรับตัวเลขตั้งแต่หลักหน่วยไปจนถึงหลักล้าน และรองรับทศนิยม 2 ตำแหน่งสำหรับสตางค์ พร้อมปุ่มคัดลอกผลลัพธ์ได้เลยในคลิกเดียว

🔢 แปลงตัวเลขเป็นภาษาไทย

ผลลัพธ์จะแสดงที่นี่

ตัวอย่างผลลัพธ์ที่ได้จากเครื่องมือนี้

 

  • 12,000 → หนึ่งหมื่นสองพันบาทถ้วน
  • 1,234,567 → หนึ่งล้านสองแสนสามหมื่นสี่พันห้าร้อยหกสิบเจ็ดบาทถ้วน
  • 1,500.50 → หนึ่งพันห้าร้อยบาทห้าสิบสตางค์
  • 250.25 → สองร้อยห้าสิบบาทยี่สิบห้าสตางค์

หลักการอ่านตัวเลขเป็นภาษาไทยที่ถูกต้อง

โครงสร้างหน่วยนับภาษาไทย

ระบบตัวเลขภาษาไทยใช้หน่วยนับดังนี้ตามลำดับจากใหญ่ไปเล็ก

หนึ่ง = 1, สิบ = 10, ร้อย = 100, พัน = 1,000, หมื่น = 10,000, แสน = 100,000, ล้าน = 1,000,000

ทุกครั้งที่ตัวเลขครบ 1,000,000 จะขึ้นหน่วย ล้าน ใหม่ เช่น 2,000,000 คือ สองล้าน และ 10,000,000 คือ สิบล้าน ไม่ใช่ หนึ่งร้อยแสน ซึ่งต่างจากที่หลายคนเข้าใจผิด

H3: ตารางเปรียบเทียบตัวเลขและคำอ่านภาษาไทย

1 → หนึ่ง 10 → สิบ 11 → สิบเอ็ด 20 → ยี่สิบ 21 → ยี่สิบเอ็ด 100 → หนึ่งร้อย 1,000 → หนึ่งพัน 10,000 → หนึ่งหมื่น 100,000 → หนึ่งแสน 1,000,000 → หนึ่งล้าน

กฎพิเศษที่มักเข้าใจผิดเกี่ยวกับการแปลงตัวเลขเป็นภาษาไทย

กฎ "สิบเอ็ด" และ "ยี่สิบ"

กฎแรกที่คนมักสับสนคือเลข 11 อ่านว่า สิบเอ็ด ไม่ใช่ สิบหนึ่ง และเลข 21 อ่านว่า ยี่สิบเอ็ด ไม่ใช่ สองสิบหนึ่ง กฎนี้ใช้กับเลขหลักหน่วยที่เป็น 1 ทุกกรณีที่มีหลักสิบอยู่ด้านหน้า เช่น 31 คือ สามสิบเอ็ด, 41 คือ สี่สิบเอ็ด

H3: กฎ “ยี่สิบ” แทน “สองสิบ”

เลข 20 ในภาษาไทยอ่านว่า ยี่สิบ เสมอ ไม่ใช่ สองสิบ ซึ่งเป็นคำเฉพาะที่ใช้เฉพาะตำแหน่งสิบเท่านั้น ส่วนตำแหน่งอื่นยังคงใช้ สอง ตามปกติ เช่น สองร้อย สองพัน สองหมื่น

H3: กฎ “หนึ่งสิบ” ไม่มีในภาษาไทย

เลข 10 อ่านว่า สิบ เพียงอย่างเดียว ไม่มีคำว่า หนึ่งสิบ ในภาษาไทย และเลข 100 อ่านว่า หนึ่งร้อย ไม่ใช่ ร้อย เพียงอย่างเดียว ยกเว้นในบริบทที่ชัดเจนว่าหมายถึง 100 อ้างอิงจากราชบัณฑิตยสภา: https://www.orst.go.th

Code JavaScript แปลงตัวเลขเป็นภาษาไทย

อธิบาย Logic การทำงาน

Code JavaScript ที่ใช้ใน Widget บน reviewderkub.com ทำงานโดยแยกตัวเลขออกเป็นหลักๆ ตามระบบภาษาไทย ตั้งแต่หลักแสน หมื่น พัน ร้อย สิบ และหน่วย จากนั้นแปลงแต่ละหลักเป็นคำภาษาไทยแล้วเชื่อมต่อกัน

Code เต็มพร้อมใช้งาน

const ones = [”,’หนึ่ง’,’สอง’,’สาม’,’สี่’,’ห้า’,’หก’,’เจ็ด’,’แปด’,’เก้า’];
const tens = [”,’สิบ’,’ยี่สิบ’,’สามสิบ’,’สี่สิบ’,’ห้าสิบ’,
‘หกสิบ’,’เจ็ดสิบ’,’แปดสิบ’,’เก้าสิบ’];

function belowMillion(n) {
if (n === 0) return ”;
let r = ”;
const saen = Math.floor(n / 100000);
const muen = Math.floor((n % 100000) / 10000);
const phan = Math.floor((n % 10000) / 1000);
const roi = Math.floor((n % 1000) / 100);
const sib = Math.floor((n % 100) / 10);
const nueng = n % 10;
if (saen) r += ones[saen] + ‘แสน’;
if (muen) r += ones[muen] + ‘หมื่น’;
if (phan) r += ones[phan] + ‘พัน’;
if (roi) r += ones[roi] + ‘ร้อย’;
if (sib === 1) r += ‘สิบ’;
else if (sib > 1) r += tens[sib];
if (nueng === 1 && sib !== 0) r += ‘เอ็ด’;
else if (nueng > 0) r += ones[nueng];
return r;
}

function numToThai(n) {
if (n === 0) return ‘ศูนย์’;
const million = Math.floor(n / 1000000);
const rest = n % 1000000;
let result = ”;
if (million) result += belowMillion(million) + ‘ล้าน’;
result += belowMillion(rest);
return result;
}

function bahtText(val) {
const intPart = Math.floor(val);
const decPart = Math.round((val – intPart) * 100);
let text = numToThai(intPart) + ‘บาท’;
text += decPart > 0 ? numToThai(decPart) + ‘สตางค์’ : ‘ถ้วน’;
return text;
}

// ตัวอย่างใช้งาน
console.log(bahtText(12000)); // หนึ่งหมื่นสองพันบาทถ้วน
console.log(bahtText(1234567)); // หนึ่งล้านสองแสนสามหมื่นสี่พันห้าร้อยหกสิบเจ็ดบาทถ้วน
console.log(bahtText(1500.50)); // หนึ่งพันห้าร้อยบาทห้าสิบสตางค์

Code นี้ไม่ต้องติดตั้ง Library เพิ่มเติม ใช้ได้บน Browser ทุกตัวและ Node.js โดยตรง รองรับตัวเลขสูงสุดหลายร้อยล้าน

นำ Code ไปใช้กับ Google Apps Script ใน Google Sheets

สร้าง Custom Function BAHTTEXT_TH

Google Sheets มี Function ในตัวชื่อ BAHTTEXT แต่ผลลัพธ์บางครั้งไม่ตรงกับรูปแบบที่ต้องการ การสร้าง Custom Function เองด้วย Google Apps Script จึงให้ความยืดหยุ่นมากกว่า

เปิด Google Apps Script ที่ https://script.google.com แล้ววาง Code ด้านบนพร้อมเพิ่ม Function wrapper ดังนี้

function BAHTTEXT_TH(value) {

  return bahtText(value);

}

จากนั้น Save แล้วกลับไปที่ Google Sheets พิมพ์ =BAHTTEXT_TH(A1) ในเซลล์ที่ต้องการ ระบบจะแปลงตัวเลขในเซลล์ A1 เป็นภาษาไทยโดยอัตโนมัติ เหมาะกับการทำใบกำกับภาษีและเอกสารทางการทุกประเภท

ข้อควรระวังเมื่อใช้กับ Google Sheets

ควรระวังเรื่องการปัดเศษทศนิยมใน Google Sheets เพราะบางครั้งตัวเลขที่แสดงในเซลล์อาจมีทศนิยมซ่อนอยู่ แนะนำให้ใช้ ROUND(A1,2) ครอบก่อนส่งค่าเข้า Function เช่น =BAHTTEXT_TH(ROUND(A1,2)) เพื่อให้ผลลัพธ์ถูกต้องเสมอ

ข้อควรระวังเมื่อใช้กับ Google Sheets

แปลงตัวเลขเป็นภาษาไทยใช้กับตัวเลขสูงสุดเท่าไหร่?

Code ที่ให้ไว้รองรับตัวเลขสูงสุดถึงหลายพันล้าน โดย Logic จะแยกหลักล้านออกก่อน แล้วแปลงส่วนที่เหลือด้วย belowMillion() ทำให้รองรับตัวเลขได้มากกว่า 999 ล้านขึ้นไป

ทำไม BAHTTEXT ใน Google Sheets ถึงให้ผลต่างกัน?

BAHTTEXT ที่มีใน Google Sheets เป็น Function มาตรฐานที่ Google พัฒนา ซึ่งบางครั้งรูปแบบการอ่านอาจแตกต่างจากที่ใช้ในเอกสารราชการไทย การสร้าง Custom Function เองจึงให้ความแม่นยำและยืดหยุ่นมากกว่า อ้างอิง: https://support.google.com/docs/answer/3093285

นำ Code ไปใช้กับ PHP หรือ Python ได้ไหม?

Logic การแปลงตัวเลขเป็นภาษาไทยสามารถนำไปเขียนใหม่ด้วยภาษาอื่นได้โดยใช้หลักการเดียวกัน มีนักพัฒนาหลายท่านแชร์ Version PHP และ Python ไว้บน GitHub สามารถค้นหาได้ที่ https://github.com โดยใช้คำค้นหาว่า bahttext python หรือ thai number to text php

สรุป

การแปลงตัวเลขเป็นภาษาไทยเป็นทักษะที่จำเป็นสำหรับทั้งนักบัญชี นักพัฒนา และผู้ที่ทำงานกับเอกสารราชการไทย ปัจจุบันมีทั้งเครื่องมือออนไลน์ฟรีและ Code สำเร็จรูปให้นำไปใช้ได้ทันที

สำหรับผู้ที่ต้องการความสะดวกสูงสุด ลองใช้เครื่องมือแปลงตัวเลขเป็นภาษาไทยออนไลน์ด้านบนได้เลย ส่วนนักพัฒนาที่ต้องการ Code สามารถนำ JavaScript Function ที่ให้ไว้ไปใช้ได้ทันทีทั้งบน Browser, Node.js และ Google Apps Script โดยไม่ต้องติดตั้งอะไรเพิ่มเติม

Scroll to Top