โค้ด: เลือกทั้งหมด
Notice: Undefined offset: 1 in /opt/lampp/htdocs/test/test11.php on line 4
โค้ด: เลือกทั้งหมด
<?php
class Currency {
public function bahtEng($thb) {
list($thb, $ths) = explode('.', $thb);
$ths = substr($ths.'00', 0, 2);
$thb = Currency::engFormat(intval($thb)).' Baht';
if (intval($ths) > 0) {
$thb .= ' '.Currency::engFormat(intval($ths)).' Satang';
}
return $thb;
}
// ตัวเลขเป็นตัวหนังสือ (eng)
private function engFormat($number) {
$max_size = pow(10, 18);
$suffix = "";
if (!$number)
return "zero";
if (is_int($number) && $number < abs($max_size)) {
switch ($number) {
case $number < 0:
$prefix = "negative";
$suffix = Currency::engFormat(-1 * $number);
$string = $prefix." ".$suffix;
break;
case 1:
$string = "one";
break;
case 2:
$string = "two";
break;
case 3:
$string = "three";
break;
case 4:
$string = "four";
break;
case 5:
$string = "five";
break;
case 6:
$string = "six";
break;
case 7:
$string = "seven";
break;
case 8:
$string = "eight";
break;
case 9:
$string = "nine";
break;
case 10:
$string = "ten";
break;
case 11:
$string = "eleven";
break;
case 12:
$string = "twelve";
break;
case 13:
$string = "thirteen";
break;
case 15:
$string = "fifteen";
break;
case $number < 20:
$string = Currency::engFormat($number % 10);
if ($number == 18) {
$suffix = "een";
} else {
$suffix = "teen";
}
$string .= $suffix;
break;
case 20:
$string = "twenty";
break;
case 30:
$string = "thirty";
break;
case 40:
$string = "forty";
break;
case 50:
$string = "fifty";
break;
case 60:
$string = "sixty";
break;
case 70:
$string = "seventy";
break;
case 80:
$string = "eighty";
break;
case 90:
$string = "ninety";
break;
case $number < 100:
$prefix = Currency::engFormat($number - $number % 10);
$suffix = Currency::engFormat($number % 10);
$string = $prefix."-".$suffix;
break;
case $number < pow(10, 3):
$prefix = Currency::engFormat(intval(floor($number / pow(10, 2))))." hundred";
if ($number % pow(10, 2))
$suffix = " ".Currency::engFormat($number % pow(10, 2));
$string = $prefix.$suffix;
break;
case $number < pow(10, 6):
$prefix = Currency::engFormat(intval(floor($number / pow(10, 3))))." thousand";
if ($number % pow(10, 3))
$suffix = Currency::engFormat($number % pow(10, 3));
$string = $prefix." ".$suffix;
break;
case $number < pow(10, 9):
$prefix = Currency::engFormat(intval(floor($number / pow(10, 6))))." million";
if ($number % pow(10, 6))
$suffix = Currency::engFormat($number % pow(10, 6));
$string = $prefix." ".$suffix;
break;
case $number < pow(10, 12):
$prefix = Currency::engFormat(intval(floor($number / pow(10, 9))))." billion";
if ($number % pow(10, 9))
$suffix = Currency::engFormat($number % pow(10, 9));
$string = $prefix." ".$suffix;
break;
case $number < pow(10, 15):
$prefix = Currency::engFormat(intval(floor($number / pow(10, 12))))." trillion";
if ($number % pow(10, 12))
$suffix = Currency::engFormat($number % pow(10, 12));
$string = $prefix." ".$suffix;
break;
case $number < pow(10, 18):
$prefix = Currency::engFormat(intval(floor($number / pow(10, 15))))." quadrillion";
if ($number % pow(10, 15))
$suffix = Currency::engFormat($number % pow(10, 15));
$string = $prefix." ".$suffix;
break;
}
}
return $string;
}
}
$a = 30000.00;
echo $a," = ".Currency::bahtEng($a);
โค้ด: เลือกทั้งหมด
$a = 30000.00;
echo $a," = ".Currency::bahtEng($a);
โค้ด: เลือกทั้งหมด
30000
Notice: Undefined offset: 1 in /opt/lampp/htdocs/test/test11.php on line 4
= thirty thousand Baht