สวัสดีครับเพื่อนๆ พอดีผมเข้ามาเว็บ อ.บอย
แล้วเจอกระทู้เกี่ยวกับการแปลงตัวเลขเป็นข้อความ พอดีผมมี Script สมัยที่ยังเรียนอยู่เลยส่งมาฝากกัน
เป็น Script ง่ายๆ +! แต่อาจมีบางอย่างไม่สมบูรณ์ เพื่อนๆ อาจลองนำไปเขียนต่อได้ครับไม่หวง
โค้ดแปลงตัวเลขเป็นตัวอักษร
| <? $number=25621.18; //ใส่ตัวเลขที่นี่ $digit=array('ศูนย์','หนึ่ง','สอง','สาม','สี่','ห้า','หก','เจ็ด','แปด','เก้า','สิบ'); $num=array('','สิบ','ร้อย','พัน','หมื่น','แสน','ล้าน'); $number = explode(".",$number); $c_num[0]=$len=strlen($number[0]); $c_num[1]=$len2=strlen($number[1]); $convert=''; //คิดจำนวนเต็ม for($n=0;$n< $len;$n++){ $c_num[0]--; $c_digit=substr($number[0],$n,1); if($c_num[0]==0&& $c_digit==1)$digit[$c_digit]='เอ็ด'; if($c_num[0]==0&& $c_digit==2)$digit[$c_digit]='สอง'; if($c_num[0]==1&& $c_digit==2)$digit[$c_digit]='ยี่'; if($c_num[0]==1&& $c_digit==1)$digit[$c_digit]=''; $convert.=$digit[$c_digit]; $convert.=$num[$c_num[0]]; } $convert .= 'บาท'; if($number[1]==''){ $convert .= 'ถ้วน'; } //คิดจุดทศนิยม for($n=0;$n< $len2;$n++){ $c_num[1]--; $c_digit=substr($number[1],$n,1); if($c_num[1]==0&& $c_digit==1)$digit[$c_digit]='หนึ่ง'; if($c_num[1]==0&& $c_digit==2)$digit[$c_digit]='สอง'; if($c_num[1]==1&& $c_digit==2)$digit[$c_digit]='ยี่'; if($c_num[1]==1&& $c_digit==1)$digit[$c_digit]=''; $convert.=$digit[$c_digit]; $convert.=$num[$c_num[1]]; } if($number[1]!='')$convert .= 'สตางค์'; echo $convert.=''; ?> |
หลังจากนั้นเพื่อนๆ ลองทดสอบดูนะครับ จากโค้ดนี้จะได้ผมดังนี้
ก็ลองใช้ดูนะครับ ติชมการเขียนได้ที่ Board อาจมีคนเขียนดีกว่าผมก็ได้
:)
สองหมื่นห้าพันหกร้อยยี่สิบเอ็ดบาทสิบแปดสตางค์