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