일단 이렇게 만들어봤구요..
자세한건 소스 참조를 하시면될것 같아요. 4번은 솔직히 좀 난해하네요.
주어진 값 외에는 다 없애라고 햇느데.. 흠... 어렵네요./
도와줘요 지니맨형...ㅋㅋㅋ
static void Main(string[] args)
{
//1. 입력받은 문자열에서 숫자외 모든 문자를 제거 후 숫자를 리턴 하는 클래스
string str = "박종문1234575퓨전마법사";
OnlyNumberic objNum = new OnlyNumberic(str);
int iNum = objNum.NumberChagnge();
Console.Write(iNum.ToString()); //숫자가 약간 크다면 int 말고 decimal 이 좋을것 같아요.
//2. 금액을 나타내는 숫자열에 3자리마다 ','를 찍어서 리턴하는 클래스
//흠. 이놈은 원래 클래스로 필요없는..이렇게 하면됩니다
Console.Write(iNum.ToString("###,###"));
//일단 클래스를 원했으므로 클래스로만듭니다
NumberComma objComma = new NumberComma();
string strComma = objComma.NumberCommaChange(iNum);
Console.Write(strComma);
//3.주어진 자리에서 입력받은 숫자를 반올림(사사오입) 하는 클래스
//math 함수가 존재합니다
NumberRound objRound = new NumberRound();
int iRound = objRound.MathConvert(iNum, 2); //뒤의 2라는 숫자는 반올림할 자리수를 말하는거지요 즉. 뒤에서 두번째껄 반올림해라 그런 뜻입니다.
//4.주어진 문자외 모든문자를 제거하는 클래스.
//솔직히 이건 좀 난해하네요. 주어진걸 제외한 모든걸 제거...
//주어진 문자를 배열로 만들어서 넘길껀지.. 아니면 한개씩 작업하는지.그걸 잘 몰라서 일단 이건 고민좀 해야겟네요.^^.
}
class NumberRound
{
public NumberRound()
{ }
public int MathConvert(int i, int iLength)
{
decimal iRound = Math.Round(decimal.Parse(i.ToString()), iLength);
return int.Parse(iRound.ToString());
}
}
class NumberComma
{
public NumberComma()
{ }
public string NumberCommaChange(int i)
{
return i.ToString("###,###");
}
}
class OnlyNumberic
{
private string strNum = string.Empty;
public OnlyNumberic()
{
}
public OnlyNumberic(string strValue)
{
strNum = strValue;
NumberChagnge();
}
public int NumberChagnge()
{
StringBuilder strbuilder = new StringBuilder();
for (int i = 0; i < strNum.Length; i++)
{
bool bolType = char.IsNumber(strNum, i);
if (bolType)
{//True를 반환하면 숫자
//기존문자에 더함
strbuilder.Append(strNum[i].ToString());
}
else
{//False 를 반환하면 문자
//아무것도 안해도 됨
}
}
return int.Parse(strbuilder.ToString());
}
}