C#에서 "C"(통화, Currency) 형식 지정자는 숫자를 통화 금액을 나타내는 문자열로 변환할 때 사용됩니다. 이 형식 지정자를 활용하면 문화권(Culture)에 맞는 통화 기호와 자릿수 구분 기호가 자동으로 적용되어, 사용자 친화적인 금액 표시가 가능합니다.
C 형식 지정자의 기본 개념
"C" 형식 지정자는 숫자 값 앞에 해당 문화권의 통화 기호(예: 달러의 경우 $)를 붙여주며, 필요에 따라 소수점 이하 자릿수를 지정할 수도 있습니다. 예를 들어 "C3"처럼 숫자를 함께 지정하면 소수점 셋째 자리까지 표시됩니다.
기본 사용 예제
먼저 double 타입의 변수를 하나 선언해 보겠습니다.
double value = 139.87;
이 값을 소수점 세 자리까지 표시하려면 ("C3") 통화 형식 지정자를 다음과 같이 사용합니다.
value.ToString("C3", CultureInfo.CurrentCulture)여기서 CultureInfo.CurrentCulture는 현재 시스템에 설정된 문화권 정보를 가져오는 역할을 하며, 이를 통해 운영체제 설정에 따라 적절한 통화 기호가 자동으로 선택됩니다.
전체 코드 예제
실제 동작을 확인할 수 있는 완전한 코드 예제입니다.
using System;
using System.Globalization;
class Demo {
static void Main() {
double value = 234.66;
// $ 기호와 함께 출력
Console.WriteLine(value.ToString("C", CultureInfo.CurrentCulture));
Console.WriteLine(value.ToString("C3", CultureInfo.CurrentCulture));
}
}실행 결과
$234.66 $234.660
출력 결과 분석
위 실행 결과를 보면 두 가지 중요한 차이점을 확인할 수 있습니다.
첫 번째 줄: "C"만 사용한 경우, 기본값인 소수점 둘째 자리까지 표시되어 "$234.66"이 출력됩니다.
두 번째 줄: "C3"을 사용한 경우, 소수점 셋째 자리까지 강제로 표시되어 "$234.660"이 출력됩니다. 원래 값이 234.66이므로 마지막에 0이 추가된 것을 볼 수 있습니다.
참고 사항
통화 형식은 문화권에 따라 달라집니다. 예를 들어 한국어(ko-KR) 문화권에서는 ₩ 기호가 붙어 "₩234"처럼 표시되고, 유로(euro) 문화권에서는 € 기호가 적용됩니다. 따라서 특정 국가의 통화 형식이 반드시 필요하다면 CultureInfo("en-US")처럼 원하는 문화권을 명시적으로 지정하는 것이 좋습니다.