String Format
C#에서 스트링에 콤마 표시를 위해서는
ToString이나 string.Format으로
서식지정자를 이용 하면 간단 하게 숫자에 콤마 표시를 할 수 있다.
long value = 100000000;
print(value.ToString("C")); // 화폐단위 ₩100,000,000
print(value.ToString("C2")); // 화폐단위 + 소숫점 2자리까리 표시 ₩100,000,000.00
print(value.ToString("N0")); // 콤마만 표시 100,000,000
print(value.ToString("N")); // 콤마만 표시 + 소숫점 2자리 100,000,000.00
print(value.ToString("N2")); // 콤마만 표시 + 소숫점 2자리 100,000,000.00
print(value.ToString("#,##0")); // 콤마만 표시 100,000,000
print(string.Format( "{0:N0}", value)); // 콤마만 표시 100,000,000
C 와 N은 언어와 문화권에 따라서 표기법이 자동으로 바껴서 표기 된다.
그래서 다국어 작업 할 때 유리.
using System.Globalization;
CultureInfo.DefaultThreadCurrentCulture = new CultureInfo("fr-FR");
으로 변경 가능하다.
#,##0 는 사용자 지정 서식 지정자로
# : 0이 앞에 붙지 않음. 해당 자리에 숫자가 있으면 표시 없으면 표시 안 함.
0 : 0이 앞에 붙음. 해당 자리에 숫자가 있으면 숫자 표시, 숫자가 없으면 0으로 표시 함
, : 콤마 표시
string.Format : ToString 말고 string.Format 함수로도 사용 할 수 있다.
$ 문자열 보간
${<interpolationExpression>[,<alignment>][:<formatString>]}
$문자열 보간을 사용 하면 ToString / string.Format을 좀 더 간결하게 표시 할 수 있습니다.
위의 예로 들면
print(value.ToString("C2"))
==> print( $"{value:C2}";
와 같이 작성 할 수 있습니다.
{ 변수 [ ,자릿수 정렬 :형식 ]}
와 같이 사용 할 수 있는데
$"{value,-10:C2}"
이렇게 하면 열자리 공간에 value를 표시 하되 왼쪽 정렬(+값을 경우 우측 정렬)을 이용 해서 화폐단위로 표시 하라 입니다.
주의)
형식 지정 할 때 :C2 에서 :(콜론)과 형식 사이에 공백이 없어야 원하는대로 정상 표시가 됩니다.
MSDN
docs.microsoft.com/ko-kr/dotnet/standard/base-types/standard-numeric-format-strings
'개발언어 > C#' 카테고리의 다른 글
[C#] 오류난 함수 출력, 로그에 기록 (0) | 2022.12.23 |
---|---|
[C#] 마우스 이동시 ListView의 item을 툴팁(tooltip)으로 보여주기 (0) | 2022.12.22 |
[C#]FolderBrowserDialog 보다 좋은 폴더 선택 화면 - CommonOpenFileDialog (0) | 2022.12.08 |
[C#] 폴더의 파일 찾기 (0) | 2022.11.16 |
[C#] Excel 파일을 읽는 방법 (0) | 2022.09.27 |