using System;
using System.Linq;
namespace AmountToKoreanWord_PBU.Classes.Function
{
class LocalModuleManagement
{
public static string AmountToKoreanWord(decimal amountValue)
{
long amount;
string amountString;
string wordUnit;
string amountWord = "";
int amountCount;
string unitM = "";
string unitE = "";
string unitJ = "";
string unitK = "";
Boolean minus = false;
if (amountValue < 0)
{
minus = true;
}
amount = Convert.ToInt64(Math.Abs(amountValue));
amountString = new String(amount.ToString().ToCharArray().Reverse().ToArray());
amountCount = amountString.Length;
for (int i = 1; i <= amountCount; i++)
{
wordUnit = AmountToWord(Convert.ToInt32(amountString.Substring(i - 1, 1)), i);
if (unitM.Equals("") && wordUnit != "" && (i >= 5 && i <= 8))
{
unitM = "만";
amountWord = wordUnit + unitM + amountWord;
}
else if (unitE.Equals("") && wordUnit != "" && (i >= 9 && i <= 12))
{
unitE = "억";
amountWord = wordUnit + unitE + amountWord;
}
else if (unitJ.Equals("") && wordUnit != "" && (i >= 13 && i <= 16))
{
unitJ = "조";
amountWord = wordUnit + unitJ + amountWord;
}
else if (unitK.Equals("") && wordUnit != "" && (i >= 17 && i <= 20))
{
unitK = "경";
amountWord = wordUnit + unitK + amountWord;
}
else
{
amountWord = wordUnit + amountWord;
}
}
if (minus == true)
{
amountWord = "-" + " " + amountWord;
}
return amountWord;
}
static string AmountToWord(int amountEach, int count)
{
string word = "";
switch (amountEach)
{
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;
}
if (amountEach != 0)
{
switch (count)
{
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;
case 11:
word += "백";
break;
case 12:
word += "천";
break;
case 13:
word += "";
break;
case 14:
word += "십";
break;
case 15:
word += "백";
break;
case 16:
word += "천";
break;
case 17:
word += "";
break;
case 18:
word += "십";
break;
case 19:
word += "백";
break;
case 20:
word += "천";
break;
}
}
return word;
}
}
}
No comments:
Post a Comment