숫자를 한글로 num_to_han('123456789') -> 1억2천3백4십5만6천7백8십9

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($t){
$k = array("", "일","이","삼","사","오","육","칠","팔","구"); // 숫자의 한글발음
}else{
$k = array("", "1","2","3","4","5","6","7","8","9"); // 숫자의 한글발음
}
$j1 = array("","십","백","천"); // 자리수의 한글발음(4자마다 반복)
$j2 = array("","만","억","조","경"); // 단위의 한글발음(4자마다)
 $arr=array();
 $m=strlen($mny);
 for($i=0;$i<$m;$i++){
  $arr[]=$mny{$i};
 }
 $arr = array_reverse($arr);
 $arrj1 = array();
 $arrj2 = array();
 for($i=0,$m=count($arr);$i<$m;$i++){
  $arrj1[] = $j1[$i%4]; 
  $arrj2[] = $j2[floor($i/4)];
 }
 $cu = '';
 $mstr = '';
 for($i=$st,$m=count($arr);$i<$m;$i++){
  if(!empty($arr)) {
   $t = $k[$arr[$i]].$arrj1[$i];
   if($cu != $arrj2[$i]){
    $cu = $arrj2[$i];
    $t.=$cu;
   }
  $mstr = $t.$mstr;
  }
 }
 return($mstr);
}
function num_to_han_s($mny,$st=0){
//숫자를 4단위로 한글 단위를 붙인다.
//num_to_han_s('123456789') -> 1억2345만6789
//num_to_han_s('123456789',4) -> 1억2345만
//num_to_han_s('123456789',6) -> 1억2345만 //무조건 4단위로 끊음
$j2 = array("","만","억","조","경"); // 단위의 한글발음 (조 다음으로 계속 추가 가능)
 $arr=array();
 $m=strlen($mny);
 for($i=0;$i<$m;$i++){
  $arr[]=$mny{$i};
 }
 $arr = array_reverse($arr);
 $arrj1 = array();
 $arrj2 = array();
 for($i=0,$m=count($arr);$i<$m;$i++){
//  $arrj1[] = $j1[$i%4]; 
  $arrj2[] = $j2[floor($i/4)];
 }
 $cu = '';
 $mstr = '';
 $st = floor($st/4)*4;
 for($i=$st,$m=count($arr);$i<$m;$i++){
   $t = $arr[$i];
   if($cu != $arrj2[$i]){
    $cu = $arrj2[$i];
    $t.=$cu;
   }
  $mstr = $t.$mstr;
 }
 return($mstr); 
}

댓글
  • No Nickname
    No Comment
  • 권한이 없습니다.
    {{m_row.m_nick}}
    -
제목 작성자 날짜
공대여자
공대여자
mins01
공대여자
공대여자
공대여자
공대여자
공대여자
공대여자
공대여자
공대여자
공대여자
공대여자
공대여자
공대여자
공대여자
공대여자
공대여자