สร้างฟังก์ชัน php แปลงตัวเลข เป็นข้อความตัวอักษร ภาษาไทย
16 October 2009PHP 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>";
// ห้าแสนหนึ่งล้านหนึ่งพันจุดหนึ่งศูนย์
?>
บทความคนเข้าอ่านวันนี้
02 Jun 10 การหา ขนาด ความกว้าง ความสูงของ รูปภาพ ด้วย javascript อ่าน 2168 19 Jul 10 การนำ ระบบสมาชิก ของ facebook มาประยุกต์ใช้ อ่าน 5416 14 Mar 09 สร้าง tooltip กล่องข้อความตัวช่วยเหลือได้ง่ายด้วย jQuery อ่าน 7878 15 Sep 10 สร้าง ตัว marker ระบุตำแหน่ง ใน google map จำนวนมาก จาก xml ไฟล์ อ่าน 3726 21 Aug 10 เริ่มใช้ และ ประยุกต์ CKEditor ให้ใช้งานง่าย เต็มความสามารถ อ่าน 3531 09 Jul 10 เพิ่มความเร็ว ให้กับการ cache ด้วย jquery ajax และ php cache class อ่าน 2299 25 Mar 09 ใช้งาน cookie ในการจำค่าชื่อผู้ใฃ้และรหัสผ่าน ด้วย javascript และ php อ่าน 2660 24 Feb 09 สร้างรูปแบบข้อความ เบอร์โทร เลขที่บัตรประชาชน เวลา ด้วย javascript อ่าน 4625 26 Aug 10 ใช้ comments.get เรียกและ บันทึก facebook comment ล่าสุด ลงฐานข้อมูล ด้วย jQuery อ่าน 2379 16 Aug 10 เทคนิค ใช้ event beforeunload แจ้งเตือนก่อน ปิดบราวเซอร์ ด้วย jQuery อ่าน 1614 13 May 09 แก้ไขการตัดข้อความด้วย substrใน php แล้วมีรูปสี่เหลี่ยม อ่าน 2734 24 Mar 10 เริ่มต้น รู้จัก ก่อนการใช้งาน google map api อ่าน 5375 06 Mar 11 แนะนำ ปลั๊กอิน comment ตัวใหม่ของ facebook อ่าน 3274 23 Nov 08 สร้างเมนูแท็บ Tab menu ด้วย jQuery + CSS อย่างง่าย อ่าน 24732 17 Nov 08 ตรวจสอบฟอร์ม form ก่อน submit ด้วย jquery อ่าน 9332 19 Jun 10 สร้าง comment ด้วย social plugins ใน facebook api อย่างง่ายดาย อ่าน 17299 04 Oct 10 รู้จัก และใช้งาน php sdk สำหรับ facebook เพิ่มขึ้น อ่าน 2856 17 Sep 10 กำหนด infowindow ให้กับตัว marker จำนวนมาก ใน google map อ่าน 2932 31 Oct 09 ใช้งาน CSS Sprite images กับ การกำหนด CSS ของ Input form อย่างง่าย อ่าน 4370 08 Dec 09 แปลง jQuery object เป็น DOM object อ่าน 2476
