본문 바로가기
VB

[C#] 숫자를 한글로 표현

by 엘딘 2022. 5. 11.
String c = "";
String cn = "";
int clen = 0;
int cnlen = 0;
int i = 0;
int k = 0;
String w = "";
String y = "";

try
{
// text상자에서 숫자 입력
cn = inputTxt.ToString();

// 입력받은 숫자자리 
cnlen = cn.Length;
k = 0;

for (i = 0; i < cnlen; i++)
{
	// Convert.ToInt32 : 문자로 입력된 것을 숫자로 변환
    // Substring(i, 1) : i번째에서 1(하나) 자르기
    // for문으로 돌려가면서 첫번째 두번째 세번째 글자들을 각각 잘라줌
    clen = Convert.ToInt32(cn.Substring(i, 1));

	// 자른 자리의 숫자를 한글화
    switch (clen)
    {
        case 1:
            w = "일";
            break;
        case 2:
            w = "이";
            break;
        case 3:
            w = "삼";
            break;
        case 4:
            w = "사";
            break;
        case 5:
            w = "오";
            break;
        case 6:
            w = "육";
            break;
        case 7:
            w = "칠";
            break;
        case 8:
            w = "팔";
            break;
        case 9:
            w = "구";
            break;
        case 0:
            w = "영";
            break;
    }
	
    숫자 길이에 따른 단위 설정
    switch (cnlen)
    {
        case 1:
            y = " ";
            break;
        case 2:
            y = "십 ";
            break;
        case 3:
            y = "백십 ";
            break;
        case 4:
            y = "천백십 ";
            break;
        case 5:
            y = "만천백십 ";
            break;
        case 6:
            y = "십만천백십 ";
            break;
        case 7:
            y = "백십만천백십 ";
            break;
    }

	// 숫자가 영이 아닐경우
    if (w != "영")
    {
    	// 각 자리의 숫자와 단위를 합쳐줌
        c = c + (w + y.Substring(k, 1));
    }

    if (y.Substring(k, 1) == "만")
    {
        if (w == "영")
        {
            c = c + "만";
        }
    }
    // for문을 돌리면서 자릿수를 1>10>100자리로 올려줌
    k = k + 1;
}

resultLbl.Text = c.ToString();

}catch(Exception err)
{
    throw err;
}

'VB' 카테고리의 다른 글

[VB.NET] 엑셀 파일 생성  (0) 2022.05.12
[VB.NET] Excel 연결  (0) 2022.05.12
[Vb6.0] Byval / Byref  (0) 2022.05.06
[VB 6.0] 스프레드와 DB 연결하기  (0) 2022.05.04
[VB6.0] 계산기  (0) 2022.05.03

댓글