C#에서 숫자("N") 형식 지정자는 숫자 값을 천 단위 구분 기호와 소수점이 포함된 문자열로 변환할 때 사용합니다. 이 지정자를 적용하면 숫자가 다음과 같은 형태로 표현됩니다.
"-d,ddd,ddd.ddd…"
각 구성 요소의 의미는 다음과 같습니다.
- "-" : 필요한 경우 표시되는 음수 기호입니다.
- "d" : 숫자(0~9)를 나타냅니다.
- "," : 그룹(천 단위) 구분 기호입니다.
- "." : 소수점 기호입니다.
형식 지정자의 동작 방식
"N" 뒤에 숫자를 붙여 소수점 이하 자릿수를 직접 지정할 수 있습니다. 예를 들어 "N3"은 소수점 셋째 자리까지 표시합니다. 자릿수를 지정하지 않으면 기본적으로 소수점 둘째 자리까지 반올림되어 출력됩니다.
예제 코드
using System;
using System.Globalization;
class Demo {
static void Main() {
double val1 = -5566.789;
Console.WriteLine(val1.ToString("N", CultureInfo.InvariantCulture));
int val2 = 87987766;
Console.WriteLine(val2.ToString("N3", CultureInfo.InvariantCulture));
}
}실행 결과
-5,566.79 87,987,766.000
코드 설명
위 예제에서 첫 번째 값 val1은 "N" 형식으로 변환되어 음수 기호와 함께 천 단위 구분 기호가 적용되고, 소수점 이하는 기본값인 둘째 자리까지 반올림됩니다. 두 번째 값 val2는 정수형이지만 "N3" 형식 덕분에 소수점 셋째 자리까지 표시됩니다.
또한 CultureInfo.InvariantCulture를 사용하면 문화권과 무관하게 일관된 형식(마침표를 소수점 기호로, 쉼표를 그룹 구분 기호로 사용)을 보장할 수 있습니다. 다국어 애플리케이션에서 예측 가능한 출력 결과가 필요할 때 특히 유용합니다.