<-------------------------------------------Description--------------------------------------------->
한국돈 10000 => 일만 으로 봐꿔주는 소스 1
<--------------------------------------------------------------------------------------------------->
<----------------------------------------------Code------------------------------------------------->
static void SSBP_SendtoEContract_AmountTest(Args _args)
{
real _AMT =0;
str _StrAMT ='';
str _WordAMT ='';
str _WordUnit ='';
int _Count =0;
int _AMTCount =0;
str _A1='';
str _A2='';
str _A3='';
str _A4='';
SSBP_WordCount _WordCount;
str _AMTPLUSWORD;
//금액 입력 부분
_AMT= 5555555555;
//금액 문자변환 부분
_StrAMT = num2str(_AMT,0,0,0,0);
//금액 카운터
_AMTCount = strLen(_StrAMT);
for(_Count=1; _Count <= _AMTCount; _Count++)
{
_WordCount.clear();
_WordCount.SSBP_AMTUnit = str2int( subStr(_StrAMT,_Count,1));
_WordCount.SSBP_Count = _Count;
_WordCount.insert();
}
_Count = 0;
while
select _WordCount
order by SSBP_Count desc
{
_Count++;
if(_WordCount.SSBP_AMTUnit !=0)
{
_AMTPLUSWORD = TEST_Andy::AmountToWord(_WordCount.SSBP_AMTUnit, _Count);
//KRW Unit**********************************************************
//만(萬) 10000------------------------------------------------------
if(_A1 =='' && (_Count >=5 && _Count <=8))
{
_A1 = '만';
_WordAMT = strFmt('%1%2%3',_AMTPLUSWORD,_A1,_WordAMT);
}
//억(億) 10의 8제곱 (1만의 1만배)-------------------------------------
else
if(_A2 =='' && (_Count >=9 && _Count <=12))
{
_A2 = '억';
_WordAMT = strFmt('%1%2%3',_AMTPLUSWORD,_A2,_WordAMT);
}
//조(兆) 10의 12제곱 (1억의 1만배)------------------------------------
else
if(_A3 =='' && (_Count >=13 && _Count <=16))
{
_A3 = '조';
_WordAMT = strFmt('%1%2%3',_AMTPLUSWORD,_A3,_WordAMT);
}
//경(京) 10의 16제곱 (1조의 1만배)------------------------------------
else
if(_A4 =='' && (_Count >=17 && _Count <=20))
{
_A4 = '경';
_WordAMT = strFmt('%1%2%3',_AMTPLUSWORD,_A4,_WordAMT);
}
else
{
_WordAMT = strFmt('%1%2',_AMTPLUSWORD,_WordAMT);
}
//******************************************************************
}
}
info(_WordAMT);
}
<--------------------------------------------------------------------------------------------------->
<-------------------------------------------Description--------------------------------------------->
한국돈 10000 => 일만 으로 봐꿔주는 소스 2 클레스나 메소드로 만들어 1번 소스에서 호출한다.
<--------------------------------------------------------------------------------------------------->
<----------------------------------------------Code------------------------------------------------->
static str 10 AmountToWord(int _AMT,int _Count)
{
str 10 _Word='';
switch (_AMT)
{
case 1:
_Word = '일';
break;
case 2:
_Word = '이';
break;
case 3:
_Word = '삼';
break;
case 4:
_Word = '사';
break;
case 5:
_Word = '오';
break;
case 6:
_Word = '육';
break;
case 7:
_Word = '칠';
break;
case 8:
_Word = '팔';
break;
case 9:
_Word = '구';
break;
case 10:
_Word = '십';
break;
}
switch (_Count)
{
case 1: _Word = _Word +''; break;
case 2: _Word = _Word +'십'; break;
case 3: _Word = _Word +'백'; break;
case 4: _Word = _Word +'천'; break;
case 5: _Word = _Word +''; break;
case 6: _Word = _Word +'십'; break;
case 7: _Word = _Word +'백'; break;
case 8: _Word = _Word +'천'; break;
case 9: _Word = _Word +''; break;
case 10: _Word = _Word +'십'; break;
case 11: _Word = _Word +'백'; break;
case 12: _Word = _Word +'천'; break;
case 13: _Word = _Word +''; break;
case 14: _Word = _Word +'십'; break;
case 15: _Word = _Word +'백'; break;
case 16: _Word = _Word +'천'; break;
case 17: _Word = _Word +''; break;
case 18: _Word = _Word +'십'; break;
case 19: _Word = _Word +'백'; break;
case 20: _Word = _Word +'천'; break;
}
return _Word;
}
<--------------------------------------------------------------------------------------------------->
No comments:
Post a Comment