指定したカルチャに固有の書式情報を使用して、このインスタンスの数値を、それと等価な文字列形式に変換します。
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 で指定された、このインスタンスの値の文字列形式。
解説
戻り値は PositiveInfinitySymbol 、 NegativeInfinitySymbol 、 NaNSymbol または次の書式の文字列のいずれかです。
[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 を使用して、パラメータとして String と IFormatProvider を受け取る方法については、次のコード例を参照してください。
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