[C#] 금액 천단위 (콤마, 마스크 타입) 설정하는 함수
2011. 1. 18. 21:57ㆍ개발관련기록/C#
반응형
/*
* 금액 타입으로 바꿔주는 함수
*/
private string LetMoneyTYPE(string Num)
{
if (Num.Contains("."))
{
//소수점 이하의 스트링을 저장한다.
int Check = Num.Substring(Num.IndexOf('.')).Length;
char[] delimiterChars = { '.' };
string[] words = Num.Split(delimiterChars);
string mntyNum = string.Format("{0:#,0}", int.Parse(words[0]));
string ComplateNum = string.Format("{0}.{1}", mntyNum, words[1]);
return ComplateNum;
}
else
{
string mntyNum = string.Format("{0:#,0}", int.Parse(Num));
string ComplateNum = string.Format("{0}", mntyNum);
return ComplateNum;
}
}
* 금액 타입으로 바꿔주는 함수
*/
private string LetMoneyTYPE(string Num)
{
if (Num.Contains("."))
{
//소수점 이하의 스트링을 저장한다.
int Check = Num.Substring(Num.IndexOf('.')).Length;
char[] delimiterChars = { '.' };
string[] words = Num.Split(delimiterChars);
string mntyNum = string.Format("{0:#,0}", int.Parse(words[0]));
string ComplateNum = string.Format("{0}.{1}", mntyNum, words[1]);
return ComplateNum;
}
else
{
string mntyNum = string.Format("{0:#,0}", int.Parse(Num));
string ComplateNum = string.Format("{0}", mntyNum);
return ComplateNum;
}
}
소수점이 있으면 소수점까지 표현하여 금액 콤마를 찍습니다.
예) 1234.567
delimiter Char를 이용해서 '.' 을 기준으로 string 배열로 각각 저장합니다.
words[0] = 1234 //소수점 앞 금액
words[1] = 567 //소수점 뒤 숫자
string mntyNum = string.Format("{0:#,0}", int.Parse(words[0]);
위 함수는 format의 .net의 라이브러리중 하나로 숫자로 들어온 값을 금액 콤마 마스크 타입을 정해 줍니다.
현재 words[0]의 값이 1234가 param 으로 들어왔으므로, mntyNum 에는 1,234 의 값이 찍히겠죠?
그리고 소수점 뒤의 값을 연결해줍니다.
string.Format("{0}.{1}", mntyNum, words[1]);
그러면 다음과 같은 결과값을 return 해 줍니다.
return 결과값 => 1,234.567
아래의 부분은 소수점이 없을 경우 금액의 콤마 마스크 타입을 만들어 주는 부분입니다.
반응형
'개발관련기록 > C#' 카테고리의 다른 글
[Visual Studio 2008]테마 적용 (1) | 2011.10.25 |
---|---|
[C#]클래스 메소드(in,out,ref) (1) | 2011.04.06 |
데이터의 값을 밖에 쓰고 프로그램을 다시 읽을때 설정값 다시 불러오는 함수. (1) | 2010.12.15 |
c# 정수가능 여부 따지기. (0) | 2010.12.10 |
2일차 & 3일차.Silverlight (1) | 2010.07.07 |