Decimal.ToString 方法

定义

将此实例的数字值转换为其等效的 String 表示形式。

重载

ToString()

将此实例的数值转换为其等效的字符串表示形式。

ToString(IFormatProvider)

使用指定的区域性特定格式信息,将此实例的数值转换为它的等效字符串表示形式。

ToString(String)

使用指定的格式,将此实例的数值转换为它的等效字符串表示形式。

ToString(String, IFormatProvider)

使用指定的格式和区域性特定格式信息,将此实例的数值转换为它的等效字符串表示形式。

ToString()

将此实例的数值转换为其等效的字符串表示形式。

public:
 override System::String ^ ToString();
public override string ToString ();
override this.ToString : unit -> string
Public Overrides Function ToString () As String

返回

String

表示此实例的值的字符串。

示例

以下示例使用默认ToString()方法显示一个Decimal值。 它还显示使用许多标准格式说明符生成的值的字符串表示形式 Decimal

decimal value = -16325.62m;
// Display value using default ToString method.
Console.WriteLine(value.ToString());            // Displays -16325.62
// Display value using some standard format specifiers.
Console.WriteLine(value.ToString("G"));         // Displays -16325.62
Console.WriteLine(value.ToString("C"));         // Displays ($16,325.62)
Console.WriteLine(value.ToString("F"));         // Displays -16325.62
let value = -16325.62m
// Display value using default ToString method.
printfn $"{value.ToString()}"            // Displays -16325.62
// Display value using some standard format specifiers.
printfn $"""{value.ToString "G"}"""      // Displays -16325.62
printfn $"""{value.ToString "C"}"""      // Displays ($16,325.62)
printfn $"""{value.ToString "F"}"""      // Displays -16325.62
Dim value As Decimal = -16325.62d
' Display value using default ToString method.
Console.WriteLine(value.ToString())            ' Displays -16325.62
' Display value using some standard format specifiers.
Console.WriteLine(value.ToString("G"))         ' Displays -16325.62
Console.WriteLine(value.ToString("C"))         ' Displays ($16,325.62)
Console.WriteLine(value.ToString("F"))         ' Displays -16325.62

以下示例显示帐户中的金额。

   public ref class PiggyBank
   {
   public:
      void AddPenny()
      {
         MyFortune = Decimal::Add( MyFortune, (Decimal).01 );
      }

      virtual System::String^ ToString() override
      {
         return MyFortune.ToString("C")+" in piggy bank";
      }

   protected:
      Decimal MyFortune;
   };
}
class PiggyBank {
    public void AddPenny() {
        MyFortune = Decimal.Add(MyFortune, .01m);
    }

    public override string ToString() {
        return MyFortune.ToString("C")+" in piggy bank";
    }

    protected decimal MyFortune;
}
type PiggyBank() =
    let mutable myFortune = 0m

    member _.AddPenny() =
        myFortune <- Decimal.Add(myFortune, 0.01m)

    override _.ToString() =
        $"{myFortune:C} in piggy bank"
Class PiggyBank

    Public Sub AddPenny()
        MyFortune = [Decimal].Add(MyFortune, 0.01D)
    End Sub

    Public Overrides Function ToString() As String
        Return MyFortune.ToString("C") + " in piggy bank"
    End Function

    Protected MyFortune As Decimal
End Class

注解

该方法ToString()Decimal采用默认 (“G”或当前区域性的常规) 格式设置值的格式。 如果要指定其他格式或区域性,请使用该方法的其他重载 ToString ,如下所示:

使用格式 对于区域性 使用重载
默认 (“G”) 格式 特定区域性 ToString(IFormatProvider)
特定格式 默认 (当前) 区域性 ToString(String)
特定格式 特定区域性 ToString(String, IFormatProvider)

.NET 提供广泛的格式支持,在以下格式设置主题中更详细地描述了这些支持:

另请参阅

适用于

ToString(IFormatProvider)

使用指定的区域性特定格式信息,将此实例的数值转换为它的等效字符串表示形式。

public:
 virtual System::String ^ ToString(IFormatProvider ^ provider);
public:
 System::String ^ ToString(IFormatProvider ^ provider);
public string ToString (IFormatProvider provider);
public string ToString (IFormatProvider? provider);
override this.ToString : IFormatProvider -> string
Public Function ToString (provider As IFormatProvider) As String

参数

provider
IFormatProvider

一个提供区域性特定的格式设置信息的对象。

返回

String

此实例的值的字符串表示形式,由 provider 指定。

实现

示例

以下示例使用CultureInfo表示多个不同区域性的对象显示值的字符串表示形式Decimal

decimal value = -16325.62m;
// Display value using the invariant culture.
Console.WriteLine(value.ToString(CultureInfo.InvariantCulture));
// Display value using the en-GB culture.
Console.WriteLine(value.ToString(CultureInfo.CreateSpecificCulture("en-GB")));
// Display value using the de-DE culture.
Console.WriteLine(value.ToString(CultureInfo.CreateSpecificCulture("de-DE")));
// This example displays the following output to the console:
//       -16325.62
//       -16325.62
//       -16325,62
let value = -16325.62m
// Display value using the invariant culture.
printfn $"{value.ToString CultureInfo.InvariantCulture}"
// Display value using the en-GB culture.
printfn $"""{value.ToString(CultureInfo.CreateSpecificCulture "en-GB")}"""
// Display value using the de-DE culture.
printfn $"""{value.ToString(CultureInfo.CreateSpecificCulture "de-DE")}"""
// This example displays the following output to the console:
//       -16325.62
//       -16325.62
//       -16325,62
Dim value As Decimal = -16325.62d
' Display value using the invariant culture.
Console.WriteLine(value.ToString(CultureInfo.InvariantCulture))
' Display value using the en-GB culture.
Console.WriteLine(value.ToString(CultureInfo.CreateSpecificCulture("en-GB")))
' Display value using the de-DE culture.
Console.WriteLine(value.ToString(CultureInfo.CreateSpecificCulture("de-DE")))
' This example displays the following output to the console:
'       -16325.62
'       -16325.62
'       -16325,62

注解

该方法ToString(IFormatProvider)Decimal采用默认 (“G”或指定区域性的常规) 格式设置值的格式。 如果要指定其他格式或当前区域性,请使用该方法的其他重载 ToString ,如下所示:

使用格式 对于区域性 使用重载
默认 (“G”) 格式 默认 (当前) 区域性 ToString()
特定格式 默认 (当前) 区域性 ToString(String)
特定格式 特定区域性 ToString(String, IFormatProvider)

.NET 提供广泛的格式支持,在以下格式设置主题中更详细地描述了这些支持:

参数 provider 是一个 IFormatProvider 实现,其 IFormatProvider.GetFormat 方法返回对象 NumberFormatInfo 。 通常, provider 是对象 NumberFormatInfoCultureInfo 对象。 该 provider 参数提供格式设置中使用的区域性特定信息。 如果 providernull,则使用当前区域性。

若要使用指定的区域性和特定格式字符串将值转换为 Decimal 其字符串表示形式,请调用 Decimal.ToString(String, IFormatProvider) 该方法。

另请参阅

适用于

ToString(String)

使用指定的格式,将此实例的数值转换为它的等效字符串表示形式。

public:
 System::String ^ ToString(System::String ^ format);
public string ToString (string format);
public string ToString (string? format);
override this.ToString : string -> string
Public Function ToString (format As String) As String

参数

format
String

标准或自定义的数值格式字符串。

返回

String

此实例的值的字符串表示形式,由 format 指定。

例外

format 无效。

示例

以下示例使用每个受支持的标准数字格式说明符以及两个自定义数字格式字符串显示一个 Decimal 值。 将数值转换为字符串时,该示例使用 en-US 区域性的格式设置约定。

decimal value = 16325.62m;
string specifier;

// Use standard numeric format specifiers.
specifier = "G";
Console.WriteLine("{0}: {1}", specifier, value.ToString(specifier));
// Displays:    G: 16325.62
specifier = "C";
Console.WriteLine("{0}: {1}", specifier, value.ToString(specifier));
// Displays:    C: $16,325.62
specifier = "E04";
Console.WriteLine("{0}: {1}", specifier, value.ToString(specifier));
// Displays:    E04: 1.6326E+004
specifier = "F";
Console.WriteLine("{0}: {1}", specifier, value.ToString(specifier));
// Displays:    F: 16325.62
specifier = "N";
Console.WriteLine("{0}: {1}", specifier, value.ToString(specifier));
// Displays:    N: 16,325.62
specifier = "P";
Console.WriteLine("{0}: {1}", specifier, (value/10000).ToString(specifier));
// Displays:    P: 163.26 %

// Use custom numeric format specifiers.
specifier = "0,0.000";
Console.WriteLine("{0}: {1}", specifier, value.ToString(specifier));
// Displays:    0,0.000: 16,325.620
specifier = "#,#.00#;(#,#.00#)";
Console.WriteLine("{0}: {1}", specifier, (value*-1).ToString(specifier));
// Displays:    #,#.00#;(#,#.00#): (16,325.62)
let value = 16325.62m

// Use standard numeric format specifiers.
let specifier = "G"
printfn $"{specifier}: {value.ToString specifier}"
// Displays:    G: 16325.62
let specifier = "C"
printfn $"{specifier}: {value.ToString specifier}"
// Displays:    C: $16,325.62
let specifier = "E04"
printfn $"{specifier}: {value.ToString specifier}"
// Displays:    E04: 1.6326E+004
let specifier = "F"
printfn $"{specifier}: {value.ToString specifier}"
// Displays:    F: 16325.62
let specifier = "N"
printfn $"{specifier}: {value.ToString specifier}"
// Displays:    N: 16,325.62
let specifier = "P"
printfn $"{specifier}: {(value / 10000m).ToString specifier}"
// Displays:    P: 163.26 %

// Use custom numeric format specifiers.
let specifier = "0,0.000"
printfn $"{specifier}: {value.ToString specifier}"
// Displays:    0,0.000: 16,325.620
let specifier = "#,#.00#(#,#.00#)"
printfn $"{specifier}: {(value * -1m).ToString specifier}"
// Displays:    #,#.00#(#,#.00#): (16,325.62)
Dim value As Decimal = 16325.62d
Dim specifier As String

' Use standard numeric format specifiers.
specifier = "G"
Console.WriteLine("{0}: {1}", specifier, value.ToString(specifier))
' Displays:    G: 16325.62
specifier = "C"
Console.WriteLine("{0}: {1}", specifier, value.ToString(specifier))
' Displays:    C: $16,325.62
specifier = "E04"
Console.WriteLine("{0}: {1}", specifier, value.ToString(specifier))
' Displays:    E04: 1.6326E+004
specifier = "F"
Console.WriteLine("{0}: {1}", specifier, value.ToString(specifier))
' Displays:    F: 16325.62
specifier = "N"
Console.WriteLine("{0}: {1}", specifier, value.ToString(specifier))
' Displays:    N: 16,325.62
specifier = "P"
Console.WriteLine("{0}: {1}", specifier, (value/10000).ToString(specifier))
' Displays:    P: 163.26 %

' Use custom numeric format specifiers.
specifier = "0,0.000"
Console.WriteLine("{0}: {1}", specifier, value.ToString(specifier))
' Displays:    0,0.000: 16,325.620
specifier = "#,#.00#;(#,#.00#)"
Console.WriteLine("{0}: {1}", specifier, (value*-1).ToString(specifier))
' Displays:    #,#.00#;(#,#.00#): (16,325.62)

注解

该方法ToString(String)Decimal使用当前区域性的约定设置指定格式的值的格式。 如果要使用默认 (“G”或常规) 格式或指定其他区域性,请使用方法的其他重载 ToString ,如下所示:

使用格式 对于区域性 使用重载
默认 (“G”) 格式 默认 (当前) 区域性 ToString()
默认 (“G”) 格式 特定区域性 ToString(IFormatProvider)
特定格式 特定区域性 ToString(String, IFormatProvider)

该方法 ToString 使用参数指定的 format 标准或自定义数值格式字符串将当前实例的值转换为其字符串表示形式。 参数 format 可以是除 D、R 和 X 之外的任何有效 标准数字格式说明符 ,也可以是 自定义数字格式说明符的任意组合。 如果 formatnull 或为空字符串,则此实例的返回值采用常规数值格式说明符 (G) 的格式。

.NET 提供广泛的格式支持,在以下格式设置主题中更详细地描述了这些支持:

返回值的格式是使用 NumberFormatInfo 当前区域性的对象。 若要应用指定区域性的格式设置约定,请调用 ToString(String, IFormatProvider) 该方法。

另请参阅

适用于

ToString(String, IFormatProvider)

使用指定的格式和区域性特定格式信息,将此实例的数值转换为它的等效字符串表示形式。

public:
 virtual System::String ^ ToString(System::String ^ format, IFormatProvider ^ provider);
public string ToString (string format, IFormatProvider provider);
public string ToString (string? format, IFormatProvider? provider);
override this.ToString : string * IFormatProvider -> string
Public Function ToString (format As String, provider As IFormatProvider) As String

参数

format
String

一个数值格式字符串。

provider
IFormatProvider

一个提供区域性特定的格式设置信息的对象。

返回

String

此实例的值的字符串表示形式,由 formatprovider 指定。

实现

例外

format 无效。

示例

以下示例使用多个不同区域性的每个受支持的标准数值格式说明符显示一个 Decimal 值。

decimal value = 16325.62m;
string specifier;
CultureInfo culture;

// Use standard numeric format specifiers.
specifier = "G";
culture = CultureInfo.CreateSpecificCulture("eu-ES");
Console.WriteLine(value.ToString(specifier, culture));
// Displays:    16325,62
Console.WriteLine(value.ToString(specifier, CultureInfo.InvariantCulture));
// Displays:    16325.62

specifier = "C";
culture = CultureInfo.CreateSpecificCulture("en-US");
Console.WriteLine(value.ToString(specifier, culture));
// Displays:    $16,325.62
culture = CultureInfo.CreateSpecificCulture("en-GB");
Console.WriteLine(value.ToString(specifier, culture));
// Displays:    £16,325.62

specifier = "E04";
culture = CultureInfo.CreateSpecificCulture("sv-SE");
Console.WriteLine(value.ToString(specifier, culture));
// Displays: 1,6326E+004
 culture = CultureInfo.CreateSpecificCulture("en-NZ");
 Console.WriteLine(value.ToString(specifier, culture));
// Displays:    1.6326E+004

specifier = "F";
culture = CultureInfo.CreateSpecificCulture("fr-FR");
Console.WriteLine(value.ToString(specifier, culture));
// Displays:    16325,62
culture = CultureInfo.CreateSpecificCulture("en-CA");
Console.WriteLine(value.ToString(specifier, culture));
// Displays:    16325.62

specifier = "N";
culture = CultureInfo.CreateSpecificCulture("es-ES");
Console.WriteLine(value.ToString(specifier, culture));
// Displays:    16.325,62
culture = CultureInfo.CreateSpecificCulture("fr-CA");
Console.WriteLine(value.ToString(specifier, culture));
// Displays:    16 325,62

specifier = "P";
culture = CultureInfo.InvariantCulture;
Console.WriteLine((value/10000).ToString(specifier, culture));
// Displays:    163.26 %
culture = CultureInfo.CreateSpecificCulture("ar-EG");
Console.WriteLine((value/10000).ToString(specifier, culture));
// Displays:    163.256 %
let value = 16325.62m

// Use standard numeric format specifiers.
let specifier = "G"
let culture = CultureInfo.CreateSpecificCulture "eu-ES"
Console.WriteLine(value.ToString(specifier, culture))
// Displays:    16325,62
Console.WriteLine(value.ToString(specifier, CultureInfo.InvariantCulture))
// Displays:    16325.62

let specifier = "C"
let culture = CultureInfo.CreateSpecificCulture "en-US"
Console.WriteLine(value.ToString(specifier, culture))
// Displays:    $16,325.62
let culture = CultureInfo.CreateSpecificCulture "en-GB"
Console.WriteLine(value.ToString(specifier, culture))
// Displays:    £16,325.62

let specifier = "E04"
let culture = CultureInfo.CreateSpecificCulture "sv-SE"
Console.WriteLine(value.ToString(specifier, culture))
// Displays: 1,6326E+004
let culture = CultureInfo.CreateSpecificCulture "en-NZ"
Console.WriteLine(value.ToString(specifier, culture))
// Displays:    1.6326E+004

let specifier = "F"
let culture = CultureInfo.CreateSpecificCulture "fr-FR"
Console.WriteLine(value.ToString(specifier, culture))
// Displays:    16325,62
let culture = CultureInfo.CreateSpecificCulture "en-CA"
Console.WriteLine(value.ToString(specifier, culture))
// Displays:    16325.62

let specifier = "N"
let culture = CultureInfo.CreateSpecificCulture "es-ES"
Console.WriteLine(value.ToString(specifier, culture))
// Displays:    16.325,62
let culture = CultureInfo.CreateSpecificCulture "fr-CA"
Console.WriteLine(value.ToString(specifier, culture))
// Displays:    16 325,62

let specifier = "P"
let culture = CultureInfo.InvariantCulture
printfn $"{(value / 10000m).ToString(specifier, culture)}"
// Displays:    163.26 %
let culture = CultureInfo.CreateSpecificCulture "ar-EG"
printfn $"{(value / 10000m).ToString(specifier, culture)}"
// Displays:    163.256 %
Dim value As Decimal = 16325.62d
Dim specifier As String
Dim culture As CultureInfo

' Use standard numeric format specifiers.
specifier = "G"
culture = CultureInfo.CreateSpecificCulture("eu-ES")
Console.WriteLine(value.ToString(specifier, culture))
' Displays:    16325,62
Console.WriteLine(value.ToString(specifier, CultureInfo.InvariantCulture))
' Displays:    16325.62

specifier = "C"
culture = CultureInfo.CreateSpecificCulture("en-US")
Console.WriteLine(value.ToString(specifier, culture))
' Displays:    $16,325.62
culture = CultureInfo.CreateSpecificCulture("en-GB")
Console.WriteLine(value.ToString(specifier, culture))
' Displays:    £16,325.62

specifier = "E04"
culture = CultureInfo.CreateSpecificCulture("sv-SE")
Console.WriteLine(value.ToString(specifier, culture))
' Displays: 1,6326E+004   
 culture = CultureInfo.CreateSpecificCulture("en-NZ")
 Console.WriteLine(value.ToString(specifier, culture))
' Displays:    1.6326E+004   

specifier = "F"
culture = CultureInfo.CreateSpecificCulture("fr-FR")
Console.WriteLine(value.ToString(specifier, culture))
' Displays:    16325,62
culture = CultureInfo.CreateSpecificCulture("en-CA")
Console.WriteLine(value.ToString(specifier, culture))
' Displays:    16325.62

specifier = "N"
culture = CultureInfo.CreateSpecificCulture("es-ES")
Console.WriteLine(value.ToString(specifier, culture))
' Displays:    16.325,62
culture = CultureInfo.CreateSpecificCulture("fr-CA")
Console.WriteLine(value.ToString(specifier, culture))
' Displays:    16 325,62

specifier = "P"
culture = CultureInfo.InvariantCulture
Console.WriteLine((value/10000).ToString(specifier, culture))
' Displays:    163.26 %
culture = CultureInfo.CreateSpecificCulture("ar-EG")
Console.WriteLine((value/10000).ToString(specifier, culture))
' Displays:    163.256 %

注解

该方法 ToString(String, IFormatProvider) 采用指定区域性的指定格式设置 Decimal 值的格式。 如果要使用默认格式或区域性设置,请使用该方法的其他重载 ToString ,如下所示:

使用格式 对于区域性 使用重载
默认 (“G”) 格式 默认 (当前) 区域性 ToString()
默认 (“G”) 格式 特定区域性 ToString(IFormatProvider)
特定格式 默认 (当前) 区域性 ToString(String)

参数 format 可以是除 D、R 和 X 之外的任何有效标准数字格式说明符,也可以是自定义数字格式说明符的任意组合。 如果 formatnull 或为空字符串,则此实例的返回值采用常规数值格式说明符 (“G”) 格式。

.NET 提供广泛的格式支持,在以下格式设置主题中更详细地描述了这些支持:

provider 参数是一个 IFormatProvider 实现,其 IFormatProvider.GetFormat 方法返回对象 NumberFormatInfo 。 通常,provider是一个或CultureInfo对象NumberFormatInfo。 该 provider 参数提供格式设置中使用的特定于区域性的信息。 如果 providernull,则使用当前区域性。

另请参阅

适用于