 |
แปลงค่าเงินตัวเลขเป็นตัวอักษร ,ตัวหนังสือ -> แจกกันเล่นๆ อีกแล้วครับท่าน (ถ้า มีคนแจกมาก่อนหน้านี้แล้วก็ขออภัยที่ทำให้รกบอร์ดนะครับ) |
|
 |
|
|
 |
 |
|
ฟังก์ชั่นแปลงจำนวนเงินที่เป็นตัวเลขให้เป็นคำอ่านคร๊าบบบบบ
Code (PHP)
function ThaiBaht(Number)
{
//ตัดสิ่งที่ไม่ต้องการทิ้งลงโถส้วม
for (var i = 0; i < Number.length; i++)
{
Number = Number.replace (",", ""); //ไม่ต้องการเครื่องหมายคอมมาร์
Number = Number.replace (" ", ""); //ไม่ต้องการช่องว่าง
Number = Number.replace ("บาท", ""); //ไม่ต้องการตัวหนังสือ บาท
Number = Number.replace ("฿", ""); //ไม่ต้องการสัญลักษณ์สกุลเงินบาท
}
//สร้างอะเรย์เก็บค่าที่ต้องการใช้เอาไว้
var TxtNumArr = new Array ("ศูนย์", "หนึ่ง", "สอง", "สาม", "สี่", "ห้า", "หก", "เจ็ด", "แปด", "เก้า", "สิบ");
var TxtDigitArr = new Array ("", "สิบ", "ร้อย", "พัน", "หมื่น", "แสน", "ล้าน");
var BahtText = "";
//ตรวจสอบดูซะหน่อยว่าใช่ตัวเลขที่ถูกต้องหรือเปล่า ด้วย isNaN == true ถ้าเป็นข้อความ == false ถ้าเป็นตัวเลข
if (isNaN(Number))
{
return "ข้อมูลนำเข้าไม่ถูกต้อง";
} else
{
//ตรวสอบอีกสักครั้งว่าตัวเลขมากเกินความต้องการหรือเปล่า
if ((Number - 0) > 9999999.9999)
{
return "ข้อมูลนำเข้าเกินขอบเขตที่ตั้งไว้";
} else
{
//พรากทศนิยม กับจำนวนเต็มออกจากกัน (บาปหรือเปล่าหนอเรา พรากคู่เขา)
Number = Number.split (".");
//ขั้นตอนต่อไปนี้เป็นการประมวลผลดูกันเอาเองครับ แบบว่าขี้เกียจจะจิ้มดีดแล้ว อิอิอิ
if (Number[1].length > 0)
{
Number[1] = Number[1].substring(0, 2);
}
var NumberLen = Number[0].length - 0;
for(var i = 0; i < NumberLen; i++)
{
var tmp = Number[0].substring(i, i + 1) - 0;
if (tmp != 0)
{
if ((i == (NumberLen - 1)) && (tmp == 1))
{
BahtText += "เอ็ด";
} else
if ((i == (NumberLen - 2)) && (tmp == 2))
{
BahtText += "ยี่";
} else
if ((i == (NumberLen - 2)) && (tmp == 1))
{
BahtText += "";
} else
{
BahtText += TxtNumArr[tmp];
}
BahtText += TxtDigitArr[NumberLen - i - 1];
}
}
BahtText += "บาท";
if ((Number[1] == "0") || (Number[1] == "00"))
{
BahtText += "ถ้วน";
} else
{
DecimalLen = Number[1].length - 0;
for (var i = 0; i < DecimalLen; i++)
{
var tmp = Number[1].substring(i, i + 1) - 0;
if (tmp != 0)
{
if ((i == (DecimalLen - 1)) && (tmp == 1))
{
BahtText += "เอ็ด";
} else
if ((i == (DecimalLen - 2)) && (tmp == 2))
{
BahtText += "ยี่";
} else
if ((i == (DecimalLen - 2)) && (tmp == 1))
{
BahtText += "";
} else
{
BahtText += TxtNumArr[tmp];
}
BahtText += TxtDigitArr[DecimalLen - i - 1];
}
}
BahtText += "สตางค์";
}
return BahtText;
}
}
}
Tag : - - - -
|
|
 |
 |
 |
 |
Date :
2009-09-25 21:31:41 |
By :
NanoTHoro |
View :
23510 |
Reply :
18 |
|
 |
 |
 |
 |
|
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ขอบคุณมากครับ คุณ นาโน 
|
 |
 |
 |
 |
Date :
2009-09-25 21:56:34 |
By :
onizike |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|

ขอบคุณมากมายนะค่ะ
|
 |
 |
 |
 |
Date :
2010-06-09 12:02:13 |
By :
peacefulgirl |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
คนไทยใจดีครับ
|
 |
 |
 |
 |
Date :
2010-06-09 13:06:04 |
By :
SOUL |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ขอบคุณหลายๆ
อวยพร ขอให้ มีเมีย สวยๆ
( ถ้ามี เมีย สวยอยู่แล้ว ก็ ขอให้ มีกิ๊ก สวยกว่าเมีย ครับ )

|
 |
 |
 |
 |
Date :
2010-06-13 13:37:03 |
By :
roj2007 |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
แวะมาอีกรอบ
มี version แปลงเป็น อังกฤษ ไหมหนอออ
|
 |
 |
 |
 |
Date :
2010-06-15 14:45:21 |
By :
peacefulgirl |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
work ครับ
|
 |
 |
 |
 |
Date :
2011-04-20 15:11:13 |
By :
badkung04 |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
vb.net มีมั้ยครับ
|
 |
 |
 |
 |
Date :
2011-07-12 22:24:46 |
By :
pisansri |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ผมลองดูแล้วมันขึ้นว่า syntax error, unexpected ')', expecting '&' or T_VARIABLE in /home/taladrongl/domains/taladronglua.com/public_html/inc/thaibaht.php on line 2 น่ะครับ ช่วยดูให้หน่อย
|
 |
 |
 |
 |
Date :
2011-08-16 02:42:25 |
By :
nobuts |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
อยากได้ version ภาษาอังกฤษอ่ะ
|
 |
 |
 |
 |
Date :
2011-10-03 14:47:58 |
By :
ขาจร |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
กระทู้ถูกขุด !!!!!
คุณก็เปลี่ยนจากคำไทยเป็นอังกฤษ ก็ไม่เห็นยากนิครับ
|
 |
 |
 |
 |
Date :
2011-10-03 14:54:08 |
By :
Dragons_first |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
แล้วมี เวอร์ชั่นภาษาอังกฤษ ที่เป็น Bath Only ไหมครับ
|
 |
 |
 |
 |
Date :
2012-01-08 22:00:16 |
By :
ddsiam |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ขอบคุณมากกกกครับบบ
|
 |
 |
 |
 |
Date :
2012-08-01 00:22:23 |
By :
Natcha |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
1-หากต้องการให้อ่านเป็นหลักจำนวนสิบล้าน จะทำยังไงค่ะ??
|
 |
 |
 |
 |
Date :
2013-04-04 14:11:31 |
By :
Milkiiz |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
จากโค้ดที่ให้มา หากต้องการให้ .735 แล้วเครื่องอ่าน .74 จะทำยังไงค่ะ
|
 |
 |
 |
 |
Date :
2013-04-05 11:26:46 |
By :
Milkiiz |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
จากโค้ดที่ให้มา หากต้องการให้ .735 แล้วเครื่องอ่าน .74 จะทำยังไงค่ะ
|
 |
 |
 |
 |
Date :
2013-04-05 11:39:22 |
By :
Milkiiz |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
นี้มันโค้ด javascript ไม่ใช่เหรอครับ หรือผมเข้าใจผิด?
|
 |
 |
 |
 |
Date :
2013-11-17 13:49:36 |
By :
EThaiZone |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
PHP Class numtobahtthai [แปลงตัวเลขเป็นอักษรสกุลเงินภาษาไทย] :: http://songsaluang.blogspot.com/2013/07/class-numtobahtthai-echo-number.html
PHP Class numtobahteng [แปลงตัวเลขเป็นอักษรสกุลเงินภาษาอังกฤษ] :: http://songsaluang.blogspot.com/2013/07/php-class-numtobahteng.html
|
 |
 |
 |
 |
Date :
2013-11-24 21:01:04 |
By :
songsaluang |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
Code (PHP)
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>php bathtext by www.code-father.com</title>
<?
$input_number=756.50;
echo $input_number."<br>";
$digit=array('ศูนย์','หนึ่ง','สอง','สาม','สี่','ห้า','หก','เจ็ด','แปด','เก้า','สิบ','สิบเอ็ด');
$digit2=array('','สิบ','ร้อย','พัน','หมื่น','แสน','ล้าน');
$explode_number = explode(".",$input_number);
$num0=$explode_number[0]; // เลขจำนวนเต็ม
$num1=$explode_number[1]; // หลักทศนิยม
// เลขจำนวนเต็ม
$didit2_chk=strlen($num0)-1;
for($i=0;$i<=strlen($num0)-1;$i++){
$cut_input_number=substr($num0,$i,1);
if($cut_input_number==0){ // ถ้าเลข 0 ไม่ต้องใส่ค่าอะไร
//$bathtext1.=''."".$digit2[$didit2_chk];
}elseif($cut_input_number==2 && $didit2_chk==1){ // ถ้าเลข 2 อยู่หลักสิบ
$bathtext1.='ยี่'."".$digit2[$didit2_chk];
}elseif($cut_input_number==1 && $didit2_chk==1){ // ถ้าเลข 1 อยู่หลักสิบ
//$bathtext1.= ''."".$digit2[$didit2_chk];
}elseif($cut_input_number==1 && $didit2_chk==0){ // ถ้าเลข 1 อยู่หลักหน่วย
if(substr($num0,$i-1,1)==0){
$bathtext1.= 'หนึ่ง'."".$digit2[$didit2_chk];
}else{
$bathtext1.= 'เอ็ด'."".$digit2[$didit2_chk];
}
}else{
$bathtext1.= $digit[$cut_input_number]."".$digit2[$didit2_chk];
}
$didit2_chk=$didit2_chk-1;
}
$bathtext1.='บาท ';
// เลขทศนิยม
$didit2_chk=strlen($num1)-1;
for($i=0;$i<=strlen($num1)-1;$i++){
$cut_input_number=substr($num1,$i,1);
if($cut_input_number==0){ // ถ้าเลข 0 ไม่ต้องใส่ค่าอะไร
}elseif($cut_input_number==2 && $didit2_chk==1){ // ถ้าเลข 2 อยู่หลักสิบ
$bathtext1.='ยี่'."".$digit2[$didit2_chk];
}elseif($cut_input_number==1 && $didit2_chk==1){ // ถ้าเลข 1 อยู่หลักสิบ
$bathtext1.= ''."".$digit2[$didit2_chk];
}elseif($cut_input_number==1 && $didit2_chk==0){ // ถ้าเลข 1 อยู่หลักหน่วย
if(substr($num1,$i-1,1)==0){
$bathtext1.= 'หนึ่ง'."".$digit2[$didit2_chk];
}else{
$bathtext1.= 'เอ็ด'."".$digit2[$didit2_chk];
}
}else{
$bathtext1.= $digit[$cut_input_number]."".$digit2[$didit2_chk];
}
$didit2_chk=$didit2_chk-1;
}
$bathtext1.='สตางค์';
echo $bathtext1;
?>
ค่าที่ได้เป็น เจ็ดร้อยห้าสิบหกบาท ห้าสตางค์
|
 |
 |
 |
 |
Date :
2015-03-31 14:21:41 |
By :
ddsiam |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
|
|