Search...
원 화폐 단위를 한글로 표시
php
function num_to_han($mny,$st=0,$t=0){
//숫자를 완벽하게 한글로 바꿔준다.
//num_to_han('123456789') -> 1억2천3백4십5만6천7백8십9
//num_to_han('123456789',0,0) -> 1억2천3백4십5만6천7백8십9
//num_to_han('123456789',6,0) -> 1억2천3백만
//num_to_han('123456789',0,1) -> 일억이천삼백사십오만육천칠백팔십구
//num_to_han('123456789',6,1) -> 일억이천삼백만
if (ereg("[^0-9]",$mny)) return false;
$mny=(string)$mny;
$sepss=Array("","십","백","천");
$sepsl=Array("","만","억","조","경","해","자","양","구","간","정","재","극");
$nums=Array("","일","이","삼","사","오","육","칠","팔","구");
$return_txt = array(); // 반환되는 값
$arr = array_reverse(str_split($mny));
if ($st==0) $idx=0;
else $idx=$st;
$zero_cnt=0;
for($i=$idx; $i<count($arr); $i++) {
if ($i%4==0) {
if ($zero_cnt==4) array_pop($return_txt);
$zero_cnt=0;
$return_txt[] = $sepsl[(int)($i/4)] ;
}
if ($arr[$i] != "0") {
if ($t==0) $return_txt[] = $arr[$i] . $sepss[($i%4)];
else if ($t==1) $return_txt[] = $nums[(int)$arr[$i]] . $sepss[($i%4)];
else return false;
}
else $zero_cnt++;
}
if ($idx!=0) array_unshift($return_txt, $sepsl[(int)($idx/4)]) ;
$return_txt=array_reverse($return_txt);
$r_txt="";
for($i=0;$i<count($return_txt);$i++)
if ($return_txt[$i] != "") $r_txt .= $return_txt[$i];
return $r_txt;
}
결과 값은 1억2천3백 이런식으로 숫자, 한글 단위로 표시 된다.