C#에서 화면에 금액을 표시하는 경우 또는 숫자를 표시하는 경우에 3자리씩 콤마를 넣어서 출력하는 경우가 있습니다.
String.Format 함수를 사용해서 3자리 마다 콤마를 넣는 방법과 반대로 콤마를 삭제하는 방법을 알아보겠습니다.
3자리 마다 콤마 넣기
입력한 값 또는 데이터 베이스에서 취득한 값 금액이나 숫자를 화면에 표시하는 경우 3자리 마다 콤마를 넣어서 표시하는 것이 보기에 좋습니다.
입력한 값이나 데이터 베이스에서 가져온 값은 대부분 콤마가 들어가 있지 않기 때문에 3자리 마다 콤마를 표시하도록 형식을 변환해줘야 합니다.
String.Format 함수를 사용하여 콤마를 표시하도록 하겠습니다.
String.Format 예제
using System;
namespace Sample
{
class Sample
{
static void Main()
{
double num = 123456789;
Console.WriteLine(String.Format("{0:#,0}", num));
Console.ReadKey();
}
}
}
결과
123,456,789
3자리마다 콤마가 표시되어 출력되었습니다.
콤마 삭제 하기
이번에는 반대로 콤마가 들어가 있는 숫자에서 삭제 하는 방법을 보겠습니다.
콤마가 들어가 있는 상태에서 계산식을 사용하게 되면 에러가 발생하는 경우가 많습니다.
더하기, 빼기, 곱셈, 나누기 등등 원하는 결과를 얻을 수 없기 때문에 콤마를 삭제하고 다시 3자리마다 콤마를 넣어주도록 변환을 해줘야 합니다.
콤마를 삭제하는 방법으로는 int 형으로 변환을 하거나 Replace로 콤마를 삭제를 하는 방법이 있습니다.
출력 결과는 같지만 하나는 타입이 int로 변환되고, 다른 하나는 기존과 같은 문자형(string)으로 저장됩니다.
콤마 삭제 하기 예제
using System;
namespace Sample
{
class Program
{
static void Main(string[] args)
{
string str = "123,456,789";
// 콤마 삭제 int형 타입으로 변환
int num = int.Parse(str, NumberStyles.AllowThousands);
// 콤마 삭제 string형
string strRe = str.Replace(",", "");
Console.WriteLine(num);
Console.WriteLine(strRe);
Console.ReadKey();
}
}
}
결과
123456789
123456789
타입을 변환 시켜 콤마를 삭제하는 방법과 Replace 함수를 사용하여 콤마를 삭제한 방법 모두 결과는 같습니다.
단, 타입이 다릅니다.
계산을 해야 하는 경우에는 형 변환을 하는 것이 원하는 결과를 얻을 수 있습니다.
댓글