?
Path : /home/admin/domains/happytokorea.com/public_html/include/ |
Current File : /home/admin/domains/happytokorea.com/public_html/include/thai_baht.php |
<?php /* ใช้ได้กับทศนิยม 2 ตำแหน่ง หรือไม่ ทศนิยมก็ได้ รับตัวเลขค่าสูงสุดได้ 9 ล้าน วิธีใช้เรียกผ่านฟักชั่น thai_baht($number); แต่ผมลองใช้ก็ยังไม่มีปัญหา ขอบคุณมากกครับ print "<font face= Ms sans serif color=red size=4>". thai_baht(9100101.50) ."</font>"; */ function thai_baht($number){ $u1 = array("","หนึ่ง","สอง","สาม","สี่","ห้า","หก","เจ็ด","แปด","เก้า"); $u2 = array("","","สิบ","ร้อย","พัน","หมื่น","แสน","ล้าน",); $u3 = array("เอ็ด","ยี่"); //$number = "5130"; $chkdot = strpos($number,"."); if($chkdot ==true){ list($var,$var2) = split("[.]" ,$number); }//กรณี "ไม่มีจุด"; else{ $var = $number; } //$var = 1362016; $var2 = 23; // หาส่วนบาท gettype($var); while($var != 0){ if($var >=1000000){ $v = $var/1000000; $txt_baht = $u1[$v].$u2[7]; $var = $var%1000000; } if($var >=100000){ $v = $var/100000; $txt_baht .= $u1[$v].$u2[6]; $var = $var%100000; } if($var >=10000){ $v = $var/10000; $txt_baht .= $u1[$v].$u2[5]; $var = $var%10000; } if($var >=1000){ $v = $var/1000; $txt_baht .= $u1[$v].$u2[4]; $var = $var%1000; } if($var >=100){ $v = $var/100; $txt_baht .= $u1[$v].$u2[3]; $var = $var%100; } if($var >=10){ $v = ($var/10); $var = $var%10; if($v >=1 && $v<2){ //กรณี 10 $txt_baht .= $u2[2]; if($var==1){ // กรณี เศษ 1 ให้เป็น เอ็ด $txt_baht .= $u3[0]; break; } }else if($v >=2 && $v < 3){ //กรณี 20 $txt_baht .= $u3[1].$u2[2]; if($var==1){ // กรณี เศษ 1 ให้เป็น เอ็ด $txt_baht .= $u3[0]; break; } } else {// กรณีไม่ใช่ หารออกมาไม่ใช่ 1 กับ 2 $txt_baht .=$u1[$v].$u2[2]; if($var==1){ // กรณี เศษ 1 ให้เป็น เอ็ด $txt_baht .= $u3[0]; break; } } } if($var >=1){ $v = $var/1; $txt_baht .= $u1[$v].$u2[1]; $var = $var%1;} } //ส่วนตรวจสอบว่าหาสตางค์ if($chkdot==true){ //ตรวจสอบว่ามีจุดหรือเปล่า while($var2 !=0){ if($var2 >=10){ //กรณีที่มากกว่า 10 $v = ($var2/10); $var2 = $var2%10; if($v >=1 && $v<2){ //กรณี 10 $txt_satang .= $u2[2]; if($var2==1){ // กรณี เศษ 1 ให้เป็น เอ็ด $txt_satang .= $u3[0]; break; } }else if($v >=2 && $v < 3){ //กรณี 20 $txt_satang .= $u3[1].$u2[2]; if($var2==1){ // กรณี เศษ 1 ให้เป็น เอ็ด $txt_satang .= $u3[0]; break; } } else {// กรณีไม่ใช่ หารออกมาไม่ใช่ 1 กับ 2 $txt_satang .=$u1[$v].$u2[2]; if($var2==1){ // กรณี เศษ 1 ให้เป็น เอ็ด $txt_satang .= $u3[0]; break; } } } if($var2 >=1){ $v = $var2/1; $var2 = $var2%1; $txt_satang .= $u1[$v]."สิบ"; } } } //ตรวจสอบว่าจะ Return ค่าออกมา if(isset($txt_satang)){ return $txt_baht = $txt_baht."บาท".$txt_satang ."สตางค์" ; //print ("<hr >$var , $txt_baht บาท - $txt_satang สตางค์ <br><hr>"); }else{ return $txt_baht = $txt_baht."บาท"; //print ("<hr >$var , $txt_baht บาท - <br><hr>"); } } ?>