코드 복사 코드는 다음과 같습니다.
$num=1220.01
echo fmoney( $num) ;//결과: 1,220.21
echo umoney($num);
//결과: 1천2백20달러 21센트만
echo umoney($num,"rmb ");
//결과: 1천2백위안 21펜만
//정의
//통화 형식 지정
function fmoney($num) {
$ num= 0 $num;
$num = sprintf("%.02f",$num)
if(strlen($num) <= 6) return $num; 끝부터 시작하여 3개의 숫자마다 ","를 추가합니다.
for($i=strlen($num)-1,$k=1, $j=100; $i >= 0; $i --, $k ) {
$one_num = substr($num,$i,1)
if($one_num == ".") {
$numArray[$j--] = $one_num;
$k=0;
continue;
}
if($k%3==0 and $i!=0) {
//정확히 3개가 있는 경우 숫자가 남으면 ','을 추가하지 마세요.
$numArray[$j--] = $one_num
$numArray[$j--] = ","
} else {
$numArray[$j--]=$one_num;
}
}
ksort($numArray)
return Join("",$numArray);
}
function umoney($num,$type="usd") {
global $numTable,$commaTable,$moneyType
//global $numTable
$numTable; ]=" ZERO ";
$numTable[1]="ONE ";
$numTable[2]="TWO ";
$numTable[3]="THREE "; [4] ="4개";
$numTable[5]="5개";
$numTable[6]="6개";
$numTable[7]="7개"; $numTable[ 8]="EIGHT ";
$numTable[9]="NINE ";
$numTable[10]="TEN "; 🎜>$ numTable[12]="TWELVE ";
$numTable[13]="THIRTEEN ";
$numTable[14]="FOURTEEN "
$numTable[15]="FIFTEEN " ;
$numTable[16]="SIXTEEN ";
$numTable[17]="SEVENTEEN ";
$numTable[18]="
$numTable[19]=" NINETEEN ";
$numTable[20]="TWENTY ";
$numTable[30]="THIRTY ";
$numTable[40]="FORTY ";
$numTable[50] ="FIFTY";
$numTable[60]="60";
$numTable[70]="SEVENTY ";
$numTable[80]="EIGHTY "; 90]= "9개";
$commaTable[0]="HUNDRED ";
$commaTable[1]="THOUSAND "; commaTable[3 ]="MILLIARD ";
$commaTable[4]="BILLION ";
$commaTable[5]="????"
//단위
$ MoneyType["usd "]="DOLLARS ";
$moneyType["usd_1"]="센트만 해당";
$moneyType["rmb"]="YUAN "
$moneyType["rmb_1 "]=" FEN 전용";
if($type=="") $type="usd";
$fnum = fmoney($num);
$numArray = 폭발("," ,$fnum) ;
$resultArray = array();
$k=0;
$cc=count($numArray)
for($i = 0; $i < count ($numArray) ; $i ) {
$num_str = $numArray[$i]
//echo "
"
//10진수 처리 400.21
if(eregi (". ",$num_str)) {
$dotArray = 폭발(".",$num_str)
if($dotArray[1] != 0) {
$resultArray[$k ] =format3num( $dotArray[0] 0);
$resultArray[$k ]=$moneyType[strtolower($type)]
$resultArray[$k ]="AND
$resultArray [$k ]=format3num($dotArray[1] 0);
$resultArray[$k ]=$moneyType[strtolower($type)."_1"]
} else {
$resultArray [$k ]=format3num($dotArray[0] 0);
$resultArray[$k ]=$moneyType[strtolower($type)]
}
} else {
// 소수점이 아닌 숫자 처리
if(($num_str 0)!=0) {
$resultArray[$k ]=format3num($num_str 0)
$resultArray[$k ]=$commaTable[ --$ cc];//판단: 소수점 이외의 숫자가 0이 아닌 경우
for($j=$i; $j <= $cc; $j ) {
/ /echo "
";
//echo $numArray[$j]
if($numArray[$j] !=0) {
$resultArray[$k ]="AND ";
break;
}
}
}
}
}
return Join("",$resultArray);
}
함수 format3num( $num ) {
global $numTable,$commaTable
$numlen = strlen($num)
for($i = 0,$j = 0;$i < $numlen; $i ) {
$bitenum[$j ] = substr($num,$i,1)
}
if($num==0) return ""
if($numlen = = 1 ) return $numTable[$num];
if($numlen == 2) {
if($num <= 20) return $numTable[$num]
// 비트가 0이 아닐 수 있음
if($bitenum[1]==0) {
return $numTable[$num]
} else {
return Trim($numTable[$bitenum[0) ]*10 ])."-".$numTable[$bitenum[1]];
}
}
//첫 번째 값은 0이 될 수 없습니다
if($numlen == 3) {
if($bitenum[1]==0 && $bitenum[2]==0) {
//100
return $numTable[$bitenum[0]].$commaTable[0] ;
} elseif($bitenum[1]==0) {
//102
return $numTable[$bitenum[0]].$commaTable[0].$numTable[$bitenum[2 ]] ;
} elseif ($bitenum[2]==0) {
//120
return $numTable[$bitenum[0]].$commaTable[0].$numTable[$bitenum [1 ]*10];
} else {
//123
return $numTable[$bitenum[0]].$commaTable[0].trim($numTable[$bitenum[1]* 10] )."-".$numTable[$bitenum[2]];
}
}
return $num;
}
위의 내용을 포함하여 PHP 금액 숫자를 영어로 변환하는 방법을 소개합니다. PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.