วันอาทิตย์ที่ 21 กรกฎาคม พ.ศ. 2556

PHP Class numtobahtthai [แปลงตัวเลขเป็นอักษรสกุลเงินภาษาไทย]

class numtobahtthai{
#เอาของชาวบ้านเขามาจำที่มาไม่ไ้ด้แล้วมาปรับแต่งใหม่ แจกต่อ by songsaluang
#การเรียกใช้
#echo $number = 120000023.45 . '<br>';
#$callclassthai = new numtobahtthai();
#echo $callclassthai-> tothai($number); #หนึ่งร้อยยี่สิบล้านยี่สิบสามบาทสี่สิบห้าสตางค์

public function tothai($number){
$numberformat = number_format($number,2);
$explode = explode('.' , $numberformat);
$baht = $explode[0];
$stang = $explode[1];

if($stang == '00'){
return $this->thai($baht).'บาทถ้วน';
}else{
return $this->thai($baht).'บาท'.$this->thai($stang).'สตางค์';
}
}

public function thai($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]] = 'เอ็ด';       
                }   
            }else if(($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];   
    } 
       return $returnNumWord;   
}
}

ไม่มีความคิดเห็น:

แสดงความคิดเห็น

หมายเหตุ: มีเพียงสมาชิกของบล็อกนี้เท่านั้นที่สามารถแสดงความคิดเห็น