|
//* ======================================================================* //* f_amount() : 아라비아 숫자로 표기된 금액을 한글로 변환해 주는 함수 //* 천조단위( 16자리 ) 까지 표시 ( 1,000,000,000,000,000 ) //* //* Example : ₩123,456,789 //* --> 일금 일억이천삼백사십오만육천칠백팔십구 원정 //* 구분(flag) : '1' 한글, '2' 한자. //*---------------------------------------------------------------------- * Double db_amount String ls_amount, ls_money, ls_knum, ls_kor_amount,Ls_hanja,ls_mhanja string ls_hanja_amount,ls_return Long l_cnt, l_cipher, l_cipher_1 //*----------------------------------------------------------------------* db_amount = target ls_amount = String(db_amount) // 입력된 수치값을 문자로 변환 l_cipher = len(ls_amount) // 자릿수를 구함 l_cipher_1 = l_cipher + 1 // 단위를 구하기 위해 초기값 부여( 자릿수 + 1 ) //*----------------------------------------------------------------------* FOR l_cnt = 1 TO l_cipher l_cipher_1 = l_cipher_1 - 1 // 자릿수가 증가할때 감소시킴( 초기값 : 자릿수 ) //*----------------------------------------------------------------------* CHOOSE CASE Mid(ls_amount, l_cnt, 1) // 해당 자릿수의 숫자 변환( 한글 ) CASE '1' If L_Cnt = L_cipher Then ls_knum = '일' ls_hanja = '壹' Else ls_knum = '' ls_hanja = '' End If CASE '2' ls_knum = '이' ls_hanja = '貳' CASE '3' ls_knum = '삼' ls_hanja = '參' CASE '4' ls_knum = '사' ls_hanja = '四' CASE '5' ls_knum = '오' ls_hanja = '五' CASE '6' ls_knum = '육' ls_hanja = '六' CASE '7' ls_knum = '칠' ls_hanja = '七' CASE '8' ls_knum = '팔' ls_hanja = '八' CASE '9' ls_knum = '구' ls_hanja = '九' CASE ELSE ls_knum = '00' ls_hanja = ' ' END CHOOSE //*----------------------------------------------------------------------* CHOOSE CASE l_cipher_1 // 해당 자릿수의 단위 표시 CASE 1 // If L_Cnt = L_cipher Then // ls_knum = '일' // ls_hanja = '壹' // Else // ls_knum = '' // ls_hanja = '' // End If ls_money = '' ls_mhanja = '' CASE 2, 6, 10, 14 ls_money = '십' ls_mhanja = '十' CASE 3, 7, 11, 15 ls_money = '백' ls_mhanja = '百' CASE 4, 8, 12, 16 ls_money = '천' ls_mhanja = '千' CASE 5 ls_money = '만' ls_mhanja = '萬' CASE 9 ls_money = '억' ls_mhanja = '億' CASE 13 ls_money = '조' ls_mhanja = '兆' END CHOOSE //*----------------------------------------------------------------------* //* 해당 자릿수의 단위가 0(ZERO)인 경우 단위표시를 하지 않음 //*----------------------------------------------------------------------*
IF ls_knum <> '00' THEN ls_kor_amount = ls_kor_amount + ls_knum + ls_money ls_hanja_amount = ls_hanja_amount + ls_hanja + ls_mhanja ELSEIF l_cipher_1 = 5 THEN IF Mid(ls_amount, l_cnt - 3, 4) <> '0000' THEN ls_kor_amount = ls_kor_amount + ls_money ls_hanja_amount = ls_hanja_amount + ls_mhanja END IF ELSEIF l_cipher_1 = 9 THEN IF Mid(ls_amount, l_cnt - 3, 4) <> '0000' THEN ls_kor_amount = ls_kor_amount + ls_money ls_hanja_amount = ls_hanja_amount + ls_mhanja END IF ELSEIF l_cipher_1 = 13 THEN ls_kor_amount = ls_kor_amount + ls_money ls_hanja_amount = ls_hanja_amount + ls_mhanja ELSE ls_kor_amount = ls_kor_amount ls_hanja_amount = ls_hanja_amount END IF NEXT //*----------------------------------------------------------------------* //ls_kor_amount = '일금 ' + ls_kor_amount + ' 원정' //*----------------------------------------------------------------------*
if flag = '2' then ls_return = ls_hanja_amount else ls_return = ls_kor_amount end if
RETURN trim(ls_return) //*======================================================================* http://cafe.naver.com/pentaeduclub.cafe |