C#에서 큰 숫자를 다룰 때 1,000,000처럼 세 자리마다 쉼표를 넣어 표시하면 가독성이 크게 향상됩니다. 이번 글에서는 문자열로 된 숫자에 1000 단위 구분 기호(쉼표)를 적용하는 방법을 단계별로 알아보겠습니다.
1. 숫자를 문자열로 준비하기
먼저 구분 기호를 적용할 숫자를 문자열 형태로 준비합니다.
string num = "1000000.8765";
2. 소수점 앞과 뒤 부분 분리하기
소수점이 포함된 숫자의 경우, 정수 부분과 소수 부분을 나누어 처리하는 것이 좋습니다. Substring()과 IndexOf() 메서드를 활용하면 손쉽게 분리할 수 있습니다.
string withoutDecimals = num.Substring(0, num.IndexOf("."));
string withDecimals = num.Substring(num.IndexOf("."));- withoutDecimals: 소수점 앞의 정수 부분 (예: "1000000")
- withDecimals: 소수점을 포함한 소수 부분 (예: ".8765")
3. ToString()으로 1000 단위 구분 기호 서식 지정하기
정수 부분을 숫자로 변환한 뒤, ToString() 메서드에 사용자 지정 서식 문자열을 전달하여 쉼표 구분 기호를 적용합니다.
ToString("#,##0")여기서 #는 해당 자리에 숫자가 있을 때만 표시하고, ,##0은 세 자리마다 쉼표를 삽입하도록 지정합니다.
전체 예제 코드
다음은 위 과정을 모두 합친 완성된 코드입니다.
using System;
public class Program {
public static void Main() {
string num = "1000000.8765";
string withoutDecimals = num.Substring(0, num.IndexOf("."));
string withDecimals = num.Substring(num.IndexOf("."));
withoutDecimals = Convert.ToInt32(withoutDecimals).ToString("#,##0");
Console.WriteLine(withoutDecimals + withDecimals);
}
}실행 결과
1,000,000.8765
참고: 더 간단한 방법
만약 입력값이 처음부터 숫자형이라면, 문자열을 분리할 필요 없이 복합 서식을 한 번에 적용할 수도 있습니다.
double value = 1000000.8765;
Console.WriteLine(value.ToString("#,##0.####"));이처럼 C#에서는 ToString() 메서드와 사용자 지정 숫자 서식만으로도 손쉽게 천 단위 쉼표를 적용할 수 있습니다. 실무에서는 금액 표시, 통계 데이터 출력 등 다양한 상황에서 유용하게 활용되니 꼭 익혀두세요.