/****************************************************************************************
Function : of_num2String()
Purpose : 숫자 -> 문자열변환
Parameters : 수치값 (Double/Val)
Returns : 문자열
Make : CrazyDog
Make_date : 2000/10/01
Description :
* Example : ₩123,456,789
* --> 일금 일억이천삼백사십오만육천칠백팔십구 원정
*****************************************************************************************/
Double db_amount
String ls_amount, ls_money, ls_knum, ls_kor_amount
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'
ls_knum = '일'
CASE '2'
ls_knum = '이'
CASE '3'
ls_knum = '삼'
CASE '4'
ls_knum = '사'
CASE '5'
ls_knum = '오'
CASE '6'
ls_knum = '육'
CASE '7'
ls_knum = '칠'
CASE '8'
ls_knum = '팔'
CASE '9'
ls_knum = '구'
CASE ELSE
ls_knum = '00'
END CHOOSE
CHOOSE CASE l_cipher_1 // 해당 자릿수의 단위 표시
CASE 1
ls_money = ''
CASE 2, 6, 10, 14
ls_money = '십'
CASE 3, 7, 11, 15
ls_money = '백'
CASE 4, 8, 12, 16
ls_money = '천'
CASE 5
ls_money = '만'
CASE 9
ls_money = '억'
CASE 13
ls_money = '조'
END CHOOSE
/*-----------------------------------------------------------------------------------------------*
* 해당 자릿수의 단위가 0(ZERO)인 경우 단위표시를 하지 않음 *
*-----------------------------------------------------------------------------------------------*/
IF ls_knum <> '00' THEN
ls_kor_amount = ls_kor_amount + ls_knum + ls_money
ELSEIF l_cipher_1 = 5 THEN
IF Mid(ls_amount, l_cnt - 3, 4) <> '0000' THEN
ls_kor_amount = ls_kor_amount + ls_money
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
END IF
ELSEIF l_cipher_1 = 13 THEN
ls_kor_amount = ls_kor_amount + ls_money
ELSE
ls_kor_amount = ls_kor_amount
END IF
NEXT
ls_kor_amount = '일금 ' + ls_kor_amount + ' 원정'
RETURN ls_kor_amount
카페 게시글
TIP
숫자 -> 문자로...₩123,456,789 --> 일금 일억이천삼백사십오만육천칠백팔십구 원정
다음검색