PHP Ionic Angular HTML5 AJAX Javascript CSS MySQL jQuery Forum


สร้างฟังก์ชัน php แปลงตัวเลข เป็นข้อความตัวอักษร ภาษาไทย

16 October 2009 By Ninenik Narkdee
แปลงตัวเลข php ภาษาไทย

คำสั่ง การ กำหนด รูปแบบ ตัวอย่าง เทคนิค ลูกเล่น การประยุกต์ การใช้งาน เกี่ยวกับ แปลงตัวเลข php ภาษาไทย



PHP Code ฟังก์ชัน

<?php   
function num2wordsThai($num){   
	$num=str_replace(",","",$num);
	$num_decimal=explode(".",$num);
	$num=$num_decimal[0];
    $returnNumWord;   
    $lenNumber=strlen($num);   
    $lenNumber2=$lenNumber-1;   
    $kaGroup=array("","สิบ","ร้อย","พัน","หมื่น","แสน","ล้าน","สิบ","ร้อย","พัน","หมื่น","แสน","ล้าน");   
    $kaDigit=array("","หนึ่ง","สอง","สาม","สี่","ห้า","หก","เจ็ต","แปด","เก้า");   
	$kaDigitDecimal=array("ศูนย์","หนึ่ง","สอง","สาม","สี่","ห้า","หก","เจ็ต","แปด","เก้า");   
    $ii=0;   
    for($i=$lenNumber2;$i>=0;$i--){   
        $kaNumWord[$i]=substr($num,$ii,1);   
        $ii++;   
    }   
    $ii=0;   
    for($i=$lenNumber2;$i>=0;$i--){   
        if(($kaNumWord[$i]==2 && $i==1) || ($kaNumWord[$i]==2 && $i==7)){   
            $kaDigit[$kaNumWord[$i]]="ยี่";   
        }else{   
            if($kaNumWord[$i]==2){   
                $kaDigit[$kaNumWord[$i]]="สอง";        
            }   
            if(($kaNumWord[$i]==1 && $i<=2 && $i==0) || ($kaNumWord[$i]==1 && $lenNumber>6 && $i==6)){   
                if($kaNumWord[$i+1]==0){   
                    $kaDigit[$kaNumWord[$i]]="หนึ่ง";      
                }else{   
                    $kaDigit[$kaNumWord[$i]]="เอ็ด";       
                }   
            }elseif(($kaNumWord[$i]==1 && $i<=2 && $i==1) || ($kaNumWord[$i]==1 && $lenNumber>6 && $i==7)){   
                $kaDigit[$kaNumWord[$i]]="";   
            }else{   
                if($kaNumWord[$i]==1){   
                    $kaDigit[$kaNumWord[$i]]="หนึ่ง";   
                }   
            }   
        }   
        if($kaNumWord[$i]==0){   
			if($i!=6){
	            $kaGroup[$i]="";   
			}
        }   
        $kaNumWord[$i]=substr($num,$ii,1);   
        $ii++;   
        $returnNumWord.=$kaDigit[$kaNumWord[$i]].$kaGroup[$i];   
    }      
	if(isset($num_decimal[1])){
		$returnNumWord.="จุด";
		for($i=0;$i<strlen($num_decimal[1]);$i++){
				$returnNumWord.=$kaDigitDecimal[substr($num_decimal[1],$i,1)];	
		}
	}		
    return $returnNumWord;   
}   
?>  

การใช้งาน และผลลัพธิ์

<?php
echo num2wordsThai("25010");
echo "<br>";
// สองหมื่นห้าพันสิบ

// การใช้งาน รองรับตัวเลขมี comma 
echo num2wordsThai("1,450");
echo "<br>";
// หนึ่งพันสี่ร้อยห้าสิบ

// รองรับ จุดทศนิยม  
echo num2wordsThai("250.10");
echo "<br>";
// สองร้อยห้าสิบจุดหนึ่งศูนย์

//รองรับค่าตัวเลข มากกว่าแสนล้าน
echo num2wordsThai("500,001,001,000.10");
echo "<br>";
// ห้าแสนหนึ่งล้านหนึ่งพันจุดหนึ่งศูนย์
?>








เนื้อหาที่เกี่ยวข้อง



Tags:: ภาษาไทย แปลงตัวเลข php






อย่าลืมกด Like กด Share เป็นกำลังใจ ในการสร้างบทความใหม่ๆ น่ะครับ


URL สำหรับอ้างอิง