เก่าแต่ก็อยากแจก อ่านค่าเงินเป็นคำอ่านภาษาไทย php

กระทู้สนทนา
/**
* เวลาเรียกใช้ให้เรียก ThaiBahtConversion(1234020.25); ประมาณนี้
* @param numberic $amount_number
* @return string
*/
function ThaiBahtConversion($amount_number)
{
$amount_number = $amount_number . "";
//echo "amount = " . $amount_number . "<br/>";
$pt = strpos($amount_number , ".");
$number = $fraction = "";
if ($pt === false)
$number = $amount_number;
else
{
$number = substr($amount_number, 0, $pt);
$fraction = substr($amount_number, $pt + 1);
}

//list($number, $fraction) = explode(".", $number);
$ret = "";
$baht = ReadNumber ($number);
if ($baht != "")
$ret .= $baht . "บาท";

$satang = ReadNumber($fraction);
if ($satang != "")
$ret .= $satang . "สตางค์";
else
$ret .= "ถ้วน";
//return iconv("UTF-8", "TIS-620", $ret);
return $ret;
}


function ReadNumber($number)
{
$position_call = array("แสน", "หมื่น", "พัน", "ร้อย", "สิบ", "");
$number_call = array("", "หนึ่ง", "สอง", "สาม", "สี่", "ห้า", "หก", "เจ็ด", "แปด", "เก้า");
$number = $number + 0;
$ret = "";
if ($number == 0) return $ret;
if ($number > 1000000)
{
$ret .= ReadNumber(intval($number / 1000000)) . "ล้าน";
$number = intval(fmod($number, 1000000));
}

$divider = 100000;
$pos = 0;
while($number > 0)
{
$d = intval($number / $divider);
$ret .= (($divider == 10) && ($d == 2) ? "ยี่" : $number_call[$d]);
$ret .= ($d ? $position_call[$pos] : "");
$number = $number % $divider;
$divider = $divider / 10;
$pos++;
}
return $ret;
}

จากคุณ hwp (A:192.168.0.16 X:180.183.80.174)
แสดงความคิดเห็น
อ่านกระทู้อื่นที่พูดคุยเกี่ยวกับ 
โปรดศึกษาและยอมรับนโยบายข้อมูลส่วนบุคคลก่อนเริ่มใช้งาน อ่านเพิ่มเติมได้ที่นี่