Develop Dairy/C#

문자열 서식 기본 사항 (String formatting basics) (2021. 02. 18)

개발자_옹이양 2021. 2. 18. 21:18

🕮복합 서식 지정이란? (What is Composite Formatting?)

복합 서식 지정은 문자열 내에서 번호가 매겨진 자리 표시자를 사용

런타임에 중괄호로 묶은 모든 항목은 해당 위치에 따라서도 전달되는 값으로 확인.

string 데이터 형식 키워드에, 기본 제공 메서드 Format()를 사용하는 복합 서식 지정의 예

string first = "Hello"; 

string second = "World"; 

string result = string.Format("{0} {1}!", first, second); 

결과

Hello World!

 

🕮문자 보간이란? (What is string interpolation?)

문자열보간은 복합 서식 지정을 간소화하는 새로운 기술

일반적으로 복합 서식 지정보다는 문자열 보간을 선호

문자열을 보간하려면 $ 지시문 앞에 입력해야 합니다.

string first = "Hello"; 

string second = "World"; 

Console.WriteLine($"{first} {second}!"); 

Console.WriteLine($"{second} {first}!"); 

Console.WriteLine($"{first} {first} {first}!");

결과

Hello World!

World Hello!

Hello Hello Hello!

 

🕮통화 서식 지정 (Formatting currency)

복합 서식 지정 및 문자열 보간을 사용하여 특정 언어와 문화권에 대해 표시할 값의 서식을 지정할 수 있다.

:C 통화 서식 지정자를 사용하여 price 및 discount 변수를 통화로 표시

        decimal price = 123.45m;
        int discount = 50;
        Console.WriteLine($"Price: {price:C} (Save {discount:C})");

결과

Price: ¤123.45 (Save ¤50.00)

국가 화폐에 대한 기호 대신 기호 ¤가 사용됩니다. 통화의 형식에 관계없이 "통화"를 나타내는 데 사용되는 일반 기호, .NET 편집기에서는 현재 위치를 무시하므로 이 기호가 표시됩니다.

그러나 Winodws 표시 언어가 영어로 설정된 미국의 컴퓨터에서 이 코드를 실행하는 경우는 다음과 같이 출력됩니다.

Price: $123.45 (Save $50.00)

문자열 서식 지정 기능의 사용은 컴퓨팅 문화권에 따라 좌우되기 때문에, "문화권"이라는 용어는 최종 사용자의 국가 및 언어를 나타냄

 

🕮숫자 서식 지정 (Formatting numbers)

숫자 데이터로 작업할 때 쉼표로 천 단위, 백만 단위, 십억 단위 등을 나타내 가독성을 높이는 방식으로 숫자의 서식을 지정 할 수 있다.

decimal measurement = 123456.78912m; 

Console.WriteLine($"Measurement: {measurement:4N} units");

N 숫자 서식 지정자는 소수점 뒤에 2개의 숫자만 표시 ex)N4는 소수점 뒤에 4자리

Measurement: 123,456.7891 units

 

🕮백분율 서식 지정 (Formatting percentages)

백분율 서식을 지정하려면 P 서식 지정자를 사용, 소수점 뒤에 표시되는 값의 수를 제어

decimal tax = .36785m; 

Console.WriteLine($"Tax rate: {tax:P2}");

Tax rate: 36.79 %

int invoiceNumber = 1201;
decimal productMeasurement = 25.4568m;
decimal subtotal = 2750.00m;
decimal taxPercentage = .15825m;
decimal total = 3185.19m;

Console.WriteLine($"Invoice Number: {invoiceNumber}");
Console.WriteLine($"   Measurement: {productMeasurement:N3} mg");
Console.WriteLine($"     Sub Total: {subtotal:C}");
Console.WriteLine($"           Tax: {taxPercentage:P2}");
Console.WriteLine($"     Total Due: {total:C}");

Invoice Number: 1201

Measurement: 25.457 mg

Sub Total: ¤2,750.00

Tax: 15.83 %

Total Due: ¤3,185.19

🕮안쪽 여백 및 맞춤 (padding and alignment)

앞 또는 뒤에 공백을 추가하여 문자열 서식 지정

string input = "Pad this"; 

Console.WriteLine(input.PadLeft(12));

 

​ Pad this

 

Console.WriteLine(input.PadLeft(12, '-')); 

Console.WriteLine(input.PadRight(12, '-'));

 

----Pad this

Pad this----

 

 

출처: Ms Docs Learn C#으로 표시하기 위해 영숫자 데이터 서식 지정