PHP

숫자를 한글로 바꾸기

은둔한량 2013. 2. 19. 15:02
반응형

// 숫자를 한글로 바꾸기
function numtokor($num) {
    $text ='';
    $d_symbol = array('4'  => "만", '8'  => "억", '12' => "조", '16' => "경", '20' => "해", '24' => "시", '28' => "양", '32' => "구", '36' => "간", '40' => "정", '44' => "재", '48' => "극", '52' => "항하사", '56' => "아승지", '60' => "나유타", '64' => "불가사의", '68' => "무량대수");
    $p_symbol = array('0'  => "", '1'  => "십", '2'  => "백", '3'  => "천");
    $t_symbol = array('0'  => "", '1'  => "일", '2'  => "이", '3'  => "삼", '4'  => "사", '5'  => "오", '6'  => "육", '7'  => "칠", '8'  => "팔", '9'  => "구");        
    if(substr($num,0,1) == '-') {
        $num = substr($num ,1);
        $text .= '마이너스';
    }
    $length_of_num = strlen($num);
    if($length_of_num > 72) {
        $text = "존재할 수 없는 수치 입니다.";
    } else {
        //실행
        for ($k=0; $k< $length_of_num; $k++) {
            $striped_value = substr($num, $k, 1);
            $text .= $t_symbol[$striped_value];              
            $power_value = ($length_of_num - $k -1) % 4;
            if ($striped_value <> 0) $text .= $p_symbol[$power_value];
            if ($power_value == 0) $text .= $d_symbol[$length_of_num - $k -1];              
        }
    }
    return $text;
}

반응형