次の方法で共有


Double.ToString メソッド (IFormatProvider)

指定したカルチャに固有の書式情報を使用して、このインスタンスの数値を、それと等価な文字列形式に変換します。

Overloads Public Overridable Function ToString( _
   ByVal provider As IFormatProvider _) As String
[C#]
public virtual string ToString(IFormatProviderprovider);
[C++]
public: virtual String* ToString(IFormatProvider* provider);
[JScript]
public function ToString(
   provider : IFormatProvider) : String;

パラメータ

  • provider
    カルチャ固有の書式情報を提供する IFormatProvider

戻り値

provider で指定された、このインスタンスの値の文字列形式。

解説

戻り値は PositiveInfinitySymbolNegativeInfinitySymbolNaNSymbol または次の書式の文字列のいずれかです。

[sign]integral-digits[.[fractional-digits]][e[sign]exponential-digits]

省略可能な項目は、角かっこ ([および]) で囲まれています。"digits" という語を含む項目は、0 から 9 までの一連の数字から構成されます。

  • sign
    負の記号または正の記号。
  • integral-digits
    数値の整数部分を指定する一連の数字。小数の桁が存在する場合は、整数の桁はなくてもかまいません。
  • '.'
    カルチャに固有の小数点記号。
  • fractional-digits
    数値の小数部分を指定する一連の数字。
  • 'e'
    指数表記を示す小文字の 'e'。
  • exponential-digits
    指数部を指定する一連の数字。

戻り値の例には、"100"、"-123,456,789"、"123.45e+6"、"500"、"3.1416"、"600"、"-0.123"、"-Infinity" などがあります。

このインスタンスは一般書式指定子 ("G") で書式設定されます。

provider パラメータは、カルチャに固有の書式情報を提供する NumberFormatInfo オブジェクトを取得する IFormatProvider インスタンスです。 provider が null 参照 (Visual Basic では Nothing) の場合、戻り値は現在のカルチャの NumberFormatInfo データを使用して書式設定されます。

使用例

ToString を使用して、パラメータとして StringIFormatProvider を受け取る方法については、次のコード例を参照してください。

 
Public Class Temperature
    Implements IFormattable

    Public Overloads Function ToString(ByVal format As String, ByVal provider As IFormatProvider) As String _
        Implements IFormattable.ToString

        If Not (format Is Nothing) Then
            If format.Equals("F") Then
                Return [String].Format("{0}'F", Me.Value.ToString())
            End If
            If format.Equals("C") Then
                Return [String].Format("{0}'C", Me.Celsius.ToString())
            End If
        End If

        Return m_value.ToString(format, provider)
    End Function

    ' The value holder
    Protected m_value As Double

    Public Property Value() As Double
        Get
            Return m_value
        End Get
        Set(ByVal Value As Double)
            m_value = Value
        End Set
    End Property

    Public Property Celsius() As Double
        Get
            Return (m_value - 32) / 1.8
        End Get
        Set(ByVal Value As Double)
            m_value = Value * 1.8 + 32
        End Set
    End Property
End Class

[C#] 
public class Temperature : IFormattable {
    /// <summary>
    /// IFormattable.ToString implementation.
    /// </summary>
    public string ToString(string format, IFormatProvider provider) {
        if( format != null ) {
            if( format.Equals("F") ) {
                return String.Format("{0}'F", this.Value.ToString());
            }
            if( format.Equals("C") ) {
                return String.Format("{0}'C", this.Celsius.ToString());
            }
        }

        return m_value.ToString(format, provider);
    }

    // The value holder
    protected double m_value;

    public double Value {
        get {
            return m_value;
        }
        set {
            m_value = value;
        }
    }

    public double Celsius {
        get {
            return (m_value-32.0)/1.8;
        }
        set {
            m_value = 1.8*value+32.0;
        }
    }
}

[C++] 
public __gc class Temperature : public IFormattable {
   /// <summary>
   /// IFormattable.ToString implementation.
   /// </summary>
public:
   String* ToString(String* format, IFormatProvider* provider) {
      if( format != 0 ) {
         if( format->Equals(S"F") ) {
            return String::Format(S"{0}'F", this->Value.ToString());
         }
         if( format->Equals(S"C") ) {
            return String::Format(S"{0}'C", this->Celsius.ToString());
         }
      }

      return m_value.ToString(format, provider);
   }

   // The value holder
protected:
   double m_value;

public:
   __property double get_Value() {
      return m_value;
   }
   __property void set_Value( double value ) {
      m_value = value;
   }


   __property double get_Celsius() {
      return (m_value-32.0)/1.8;
   }
   __property void set_Celsius( double value ) {
      m_value = 1.8*value+32.0;
   }

};

[JScript] 
public class Temperature implements IFormattable {
    /// <summary>
    /// IFormattable.ToString implementation.
    /// </summary>
    public function ToString(format : String, provider : IFormatProvider) : String {
        if( format != null ) {
            if( format.Equals("F") ) {
                return String.Format("{0}'F", this.Value.ToString());
            }
            if( format.Equals("C") ) {
                return String.Format("{0}'C", this.Celsius.ToString());
            }
        }

        return m_value.ToString(format, provider);
    }

    // The value holder
    protected var m_value : double;

    public function get Value() : double{
        return m_value;
    }
    
            public function set Value(value : double) {
        m_value = value;
    }

    public function get Celsius() : double {
        return (m_value-32.0)/1.8;
            }
            
            public function set Celsius(value : double) {
        m_value = 1.8*value+32.0;
    }
}

必要条件

プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ, .NET Compact Framework - Windows CE .NET, Common Language Infrastructure (CLI) Standard

参照

Double 構造体 | Double メンバ | System 名前空間 | Double.ToString オーバーロードの一覧 | 書式設定の概要 | Parse | String