C#/문법 정리

C# - String.Format()

Khadra 2024. 7. 10. 08:55

String.Format 메소드

  • 지정된 형식에 따라 객체, 변수, 수식의 값을 문자열로 변환하여 다른 문자열에 삽입한다.
  • 포맷 문자열에 {0}, {1}, ...과 같은 인덱스를 사용하여 표현하고자 하는 객체, 변수, 수식을 나타낸다.
  • 포맷 문자열 뒤에 나오는 파라미터는 0부터 순서대로 번호가 부여된다.
  • {0:C}와 같이 인덱스 뒤에 콜론과 함께 형식지정자가 나올 수 있다.
    • 예를 들어, 통화(Currency)C, 날짜는 d, 시간은 t 등이 있다.
      날짜, 시간 형식문자열은 국가마다 표현 방법이 다르다.
      따라서 컴퓨터에 설정된 국가에 따라 다르게 표시된다.

예제 코드

using System;
using static System.Console;//Console단어를 생략(코드길이줄어둠)
namespace ConsoleApp1
{
    class Program
    {
        static void Main(string[] args)
        {
            // string.Format("0x{0:X} {0:E} {0:N}", Int64.MaxValue)은 
            // Int64.MaxValue를 각각 16진수형, 지수형, 구분자(,)가 있는 숫자형으로 반환하여 
            // string max에 할당한다.
            string max = String.Format("0x{0:X} {0:E} {0:N}", Int64.MaxValue);   

            // max 값을 출력한다.
            // 인덱스는 모두 {0}이며, 형식지정자만 다르다.
            WriteLine(max); 


            // Decimal형의 변수 exchangeRate를 선언하고 값을 할당한다.
            Decimal exchangeRate = 1129.20m;

            // exchangeRate 변수의 값을 출력한다.
            string s = String.Format("현재 원달러 환율은 {0}입니다.", exchangeRate);
            // 1129.20으로 출력된다.
            WriteLine(s); 


            // {0:C2}포맷으로 exchangeRate의 값을 stirng s에 할당하고 출력한다.
            s = String.Format("현재 원달러 환율은 {0:C2}입니다", exchangeRate);
            // C는 통화 형식으로 화폐 단위인 원을 표시하는 \기호와 3자리마다 콤마를 넣어준다.
            WriteLine(s);


            // DateTime.Now는 현재 날짜와 시간을 가져온다. 
            s = String.Format("오늘 날짜는 {0:d}, 시간은 {0:t} 입니다", DateTime.Now);
            // "오늘 날짜는 {0:d}, 시간은 {0:t} 입니다" 형태로 string s를 만들고 출력한다.
            WriteLine(s);


            //duration은 TimeSpan 구조체 변수이다. 초기값을 1일 12시간 23분 62초로 세팅하였다.
            TimeSpan duration = new TimeSpan(1, 12, 23, 62);
            string output = String.Format("소요 시간 : {0:c}", duration);
            // 이 값을 {0:c}로 포맷하면 1.12:24:02가 된다.
            WriteLine(output); 
        }
    }
}

결과

0x7FFFFFFFFFFFFFFF 9.223372E+018 9,223,372,036,854,775,807,00
현재 원달러 환율은 1129.20입니다.
현재 원달러 환율은 ₩1,129.20입니다
오늘 날짜는 2024-07-10, 시간은 오전 8:42 입니다
소요 시간 : 1.12:24:02