ฟังก์ชั่นแปลงจำนวนเงิน จากตัวเลข ให้เป็นภาษาไทย
December 22, 2007 – 11:47 pmพอดีว่า บทความนี้น่าสนใจดี เลยเอามาลงให้อ่านกัน เพราะหลายๆ คนอาจจะเอาไปยุกต์ทำระบบอะไรได้หลายอย่างเลย เช่น ระบบขายของ พอออกไปเสร็จมา เราซื้อของไป 1500 บาท เรามาแปลงให้ตัวเลขนั้นเป็น หนึ่งพันห้าร้อยบาท ถ้วน มันก็น่าจะเท่ดีนะครับ
- <?php //number to thai function by Dr.Yes
- function num2thai($thb) {
- list($thb, $ths) = explode(‘.’, $thb);
- $ths = substr($ths.‘00′, 0, 2);
- $thaiNum = array(”,‘หนึ่ง’,‘สอง’,‘สาม’,‘สี่’,‘ห้า′,‘หก’,‘เจ็ด’,‘แปด’,‘เก้า′);
- $unitBaht = array(‘บาท’,‘สิบ’,‘ร้อย’,‘พัน’,‘หมื่น’,‘แสน’,‘ล้าน’,‘สิบ’,‘ร้อย’,‘พัน’,‘หมื่น’,‘แสน’,‘ล้าน’);
- $unitSatang = array(‘สตางค์’,‘สิบ’);
- $THB = ”;
- $j = 0;
- for($i=strlen($thb)-1; $i>=0; $i–,$j++) {
- $num = $thb[$i];
- $tnum = $thaiNum[$num];
- $unit = $unitBaht[$j];
- switch(true) {
- case $j==0 && $num==1 && strlen($thb)>1: $tnum = ‘เอ็ด’; break;
- case $j==1 && $num==1: $tnum = ”; break;
- case $j==1 && $num==2: $tnum = ‘ยี่’; break;
- case $j==6 && $num==1 && strlen($thb)>7: $tnum = ‘เอ็ด’; break;
- case $j==7 && $num==1: $tnum = ”; break;
- case $j==7 && $num==2: $tnum = ‘ยี่’; break;
- case $j!=0 && $j!=6 && $num==0: $unit = ”; break;
- }
- $S = $tnum . $unit;
- $THB = $S . $THB;
- }
- if($ths==‘00′) {
- $THS = ‘ถ้วน’;
- } else {
- $j=0;
- $THS = ”;
- for($i=strlen($ths)-1; $i>=0; $i–,$j++) {
- $num = $ths[$i];
- $tnum = $thaiNum[$num];
- $unit = $unitSatang[$j];
- switch(true) {
- case $j==0 && $num==1 && strlen($ths)>1: $tnum = ‘เอ็ด’; break;
- case $j==1 && $num==1: $tnum = ”; break;
- case $j==1 && $num==2: $tnum = ‘ยี่’; break;
- case $j!=0 && $j!=6 && $num==0: $unit = ”; break;
- }
- $S = $tnum . $unit;
- $THS = $S . $THS;
- }
- }
- return $THB.$THS;
- }
- $thb = mt_rand()/100; //random number;
- echo number_format($thb,2).“<br>”;
- echo num2thai($thb);
- ?>
ลองเอาดัดแปลงใช้ดูนะครับ เปน ฟังก์ชั่น ใช้ง่ายดี
ปล. ขอขอบคุณ Dr.Yes
Leave a reply