Computer >> 컴퓨터 >  >> 프로그래밍 >> C#

C#에서 쉼표(,)로 1000 단위 구분 기호를 적용해 숫자 출력하는 방법

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() 메서드와 사용자 지정 숫자 서식만으로도 손쉽게 천 단위 쉼표를 적용할 수 있습니다. 실무에서는 금액 표시, 통계 데이터 출력 등 다양한 상황에서 유용하게 활용되니 꼭 익혀두세요.