내보내기(0) 인쇄
모두 확장
이 문서는 기계로 번역한 것입니다. 원본 텍스트를 보려면 포인터를 문서의 문장 위로 올리십시오. 추가 정보
번역
원본

IFormattable.ToString 메서드

지정된 형식을 사용하여 현재 인스턴스 값의 형식을 지정합니다.

네임스페이스:  System
어셈블리:  mscorlib(mscorlib.dll)

string ToString(
	string format,
	IFormatProvider formatProvider
)

매개 변수

format
형식: System.String
사용할 형식입니다.
또는
IFormattable 구현의 형식에 정의된 기본 형식을 사용하기 위한 null 참조(Visual Basic의 경우 Nothing)입니다.
formatProvider
형식: System.IFormatProvider
값에 형식을 지정하기 위해 사용할 공급자입니다.
또는
운영 체제의 현재 로캘 설정에서 숫자 형식 정보를 가져오기 위한 null 참조(Visual Basic의 경우 Nothing)입니다.

반환 값

형식: System.String
지정된 형식의 현재 인스턴스 값입니다.

ToString 메서드에서 값을 여러 가지 방식으로 표현할 수 문자열 표현으로 변환합니다. 정확한 형식은 특정 문화권, 직업 또는 산업에 의해 정의된 특정 기호 또는 순서에 따라 달라집니다. 메서드를 직접 호출할 수 있습니다. 자동으로 호출할 수도 Convert.ToString(Object)Convert.ToString(Object, IFormatProvider) 메서드 및 합성 형식 지정을 사용 하는 방법을 사용 하 여 기능을.NET Framework와 같은 String.Format(String, Object[]), Console.WriteLine(String, Object[]), 및 StringBuilder.AppendFormat(String, Object[]). 자세한 내용은 합성 형식 지정을 참조하십시오.

합성 형식 지정 메서드는 형식 문자열의 각 형식 항목에 대한 ToString 메서드를 한 번만 호출합니다. 메서드에 전달된 매개 변수는 호출할 특정 서식 지정 방법 및 형식 항목의 내용에 따라 다음과 같이 결정됩니다.

  • 형식 항목이 형식 문자열을 포함하지 않을 경우 (예: 형식 항목이 단순히 {0}일 경우) System.String 매개 변수의 값으로 null 는 전달됩니다.

  • 형식 항목이 형식 문자열을 포함할 경우 (예: {0:G}) 그 형식 문자열은 System.String 매개 변수의 값으로서 전달됩니다.

  • 원래 메서드 호출에 System.IFormatProvider 매개 변수가 포함되지 않을 경우, CultureInfo.CurrentCultureSystem.IFormatProvider 매개 변수의 값으로 전달됩니다.

  • 원래 메서드 호출에 System.IFormatProvider 매개 변수가 포함될 경우, 메서드 호출에서 제공된 공급자가 System.IFormatProvider 매개 변수의 값으로 전달됩니다.

참고참고

합성 형식 지정 메서드가 ICustomFormatter 형식 공급자에게 전달된 경우에만 또는 고객 지정 형식 공급자의 Format 메서드가 null으로 돌아가는 경우, 개체의 ToString 구현은 합정 형식 지정 메서드에 의해 호출됩니다.

.NET Framework에는 세 가지 형식 공급자가 포함되어 있으며, 이들 모두는 IFormatProvider 인터페이스를 구현합니다.

  • NumberFormatInfo 에서는 소수 구분 기호 및 그룹 구분 기호에 사용할 문자와 금액 값의 통화 기호 철자 및 위치와 같은 숫자 형식 지정 정보를 제공합니다.

  • DateTimeFormatInfo 에서는 날짜관련 패턴의 연, 월, 일 위치와 같은 날짜 및 시간 관련 형식 지정 정보를 제공합니다.

  • CultureInfo 을를은 숫자 서식의 정보와 날짜 및 시간 관련 서식 지정 정보 등과 같은 특정 문화권에서의 기본 서식 지정 정보들을 포함하고 있습니다.

그 외에도 사용자 지정 형식 공급자를 정의할 수 있습니다.

구현자 참고 사항

ToString 메서드는 "G"(일반) 형식 지정자를 지원해야 합니다. 클래스에서는 "G" 지정자 외에 지원하는 형식 지정자 목록을 정의할 수 있습니다. 또한 null인 형식 지정자를 처리하도록 클래스를 준비해야 합니다. 참조 형식 지정 및 형식 지정 코드에 대 한 자세한 내용은 형식 서식 지정.

다음 예제에서는 ToString 메서드를 구현한 Temperature 클래스에 대해 설명합니다. 이 코드 예제는 IFormattable 클래스에 대해 제공되는 보다 큰 예제의 일부입니다.


using System;
using System.Globalization;

public class Temperature : IFormattable
{
   private decimal temp;

   public Temperature(decimal temperature)
   {
      if (temperature < -273.15m) 
        throw new ArgumentOutOfRangeException(String.Format("{0} is less than absolute zero.", 
                                              temperature));
      this.temp = temperature;
   }

   public decimal Celsius
   {
      get { return temp; }
   }

   public decimal Fahrenheit
   {
      get { return temp * 9 / 5 + 32; }
   }

   public decimal Kelvin
   {
      get { return temp + 273.15m; }
   }

   public override string ToString()
   {
      return this.ToString("G", CultureInfo.CurrentCulture);
   }

   public string ToString(string format)
   {
      return this.ToString(format, CultureInfo.CurrentCulture);
   }

   public string ToString(string format, IFormatProvider provider) 
   {
      if (String.IsNullOrEmpty(format)) format = "G";
      if (provider == null) provider = CultureInfo.CurrentCulture;

      switch (format.ToUpperInvariant())
      {
         case "G":
         case "C":
            return temp.ToString("F2", provider) + " °C"; 
         case "F":
            return Fahrenheit.ToString("F2", provider) + " °F";
         case "K":
            return Kelvin.ToString("F2", provider) + " K";
         default:
            throw new FormatException(String.Format("The {0} format string is not supported.", format));
      }
   }
}


.NET Framework

4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0에서 지원

.NET Framework Client Profile

4, 3.5 SP1에서 지원

이식 가능한 클래스 라이브러리

이식 가능한 클래스 라이브러리에서 지원

Windows 스토어 앱용 .NET

Windows 8에서 지원

Windows Phone 앱용 .NET

Windows Phone 8, Silverlight 8.1에서 지원

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008(서버 코어 역할은 지원되지 않음), Windows Server 2008 R2(서버 코어 역할은 SP1 이상에서 지원, Itanium은 지원되지 않음)

.NET Framework에서 모든 플랫폼의 전체 버전을 지원하지는 않습니다. 지원되는 버전의 목록을 보려면 .NET Framework 시스템 요구 사항을 참조하십시오.

커뮤니티 추가 항목

추가
Microsoft는 MSDN 웹 사이트에 대한 귀하의 의견을 이해하기 위해 온라인 설문 조사를 진행하고 있습니다. 참여하도록 선택하시면 MSDN 웹 사이트에서 나가실 때 온라인 설문 조사가 표시됩니다.

참여하시겠습니까?
표시:
© 2014 Microsoft