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>";
// ห้าแสนหนึ่งล้านหนึ่งพันจุดหนึ่งศูนย์
?>