Double.ToString メソッド (String, IFormatProvider)
指定した書式およびカルチャに固有の書式情報を使用して、このインスタンスの数値を、それと等価な文字列形式に変換します。
Overloads Public Overridable Function ToString( _
ByVal format As String, _ ByVal provider As IFormatProvider _) As String
[C#]
public virtual string ToString(stringformat,IFormatProviderprovider);
[C++]
public: virtual String* ToString(String* format,IFormatProvider* provider);
[JScript]
public function ToString(
format : String,provider : IFormatProvider) : String;
パラメータ
- format
書式指定。 - provider
カルチャ固有の書式情報を提供する IFormatProvider 。
戻り値
format および 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" などがあります。
format が null 参照 (Visual Basic では Nothing) または空の文字列の場合、このインスタンスの戻り値は、一般書式指定子 ("G") を使用して書式設定されます。
既定では、戻り値の有効桁数は 15 桁ですが、内部的には最大 17 桁が保持されています。このインスタンスの値が 15 桁よりも大きい場合、 ToString は、予期される数値ではなく PositiveInfinitySymbol または NegativeInfinitySymbol を返します。より多くの有効桁数が必要な場合は、 format を指定するときに書式指定として "G17" または "R" を使用します。"G17" 書式指定では、常に 17 桁の有効桁数が返されます。"R" 書式指定では、数値が 15 桁で表現できる場合は 15 桁の有効桁数が返され、最大有効桁数でなければ表現できない場合は 17 桁が返されます。
provider パラメータは、カルチャに固有の書式情報を提供する NumberFormatInfo オブジェクトを取得する IFormatProvider インスタンスです。 provider が null 参照 (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