Decimal.ToString 方法  
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
将此实例的数字值转换为其等效的 String 表示形式。
重载
| ToString() | 将此实例的数值转换为其等效的字符串表示形式。 | 
| ToString(IFormatProvider) | 使用指定的区域性特定格式信息,将此实例的数值转换为它的等效字符串表示形式。 | 
| ToString(String) | 使用指定的格式,将此实例的数值转换为它的等效字符串表示形式。 | 
| ToString(String, IFormatProvider) | 使用指定的格式和区域性特定格式信息,将此实例的数值转换为它的等效字符串表示形式。 | 
ToString()
- Source:
- Decimal.cs
- Source:
- Decimal.cs
- Source:
- Decimal.cs
将此实例的数值转换为其等效的字符串表示形式。
public:
 override System::String ^ ToString();public override string ToString ();override this.ToString : unit -> stringPublic Overrides Function ToString () As 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)
- Source:
- Decimal.cs
- Source:
- Decimal.cs
- Source:
- Decimal.cs
使用指定的区域性特定格式信息,将此实例的数值转换为它的等效字符串表示形式。
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 -> stringPublic Function ToString (provider As IFormatProvider) As String参数
- provider
- IFormatProvider
一个提供区域性特定的格式设置信息的对象。
返回
此实例的值的字符串表示形式,由 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方法返回 NumberFormatInfo 对象的实现IFormatProvider.GetFormat。 通常, provider 是 对象 NumberFormatInfo 或 CultureInfo 对象。 参数 provider 提供格式设置中使用的特定于区域性的信息。 如果 provider 为 null,则使用当前区域性。
若要使用指定的区域性和特定格式字符串将值转换为 Decimal 其字符串表示形式,请调用 Decimal.ToString(String, IFormatProvider) 方法。
另请参阅
适用于
ToString(String)
- Source:
- Decimal.cs
- Source:
- Decimal.cs
- Source:
- Decimal.cs
使用指定的格式,将此实例的数值转换为它的等效字符串表示形式。
public:
 System::String ^ ToString(System::String ^ format);public string ToString (string format);public string ToString (string? format);override this.ToString : string -> stringPublic Function ToString (format As String) As String参数
- format
- 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 除外),也可以是 自定义数值格式说明符的任意组合。 如果 format 为 null 或空字符串,则此实例的返回值使用常规数值格式说明符 (G) 进行格式化。
.NET 提供广泛的格式设置支持,以下格式设置主题对此进行了更详细的介绍:
- 有关数值格式说明符的详细信息,请参阅 标准数值格式字符串 和 自定义数值格式字符串。 
- 有关格式设置的详细信息,请参阅 格式设置类型。 
使用当前区域性的 对象设置返回值的格式 NumberFormatInfo 。 若要应用指定区域性的格式设置约定,请调用 ToString(String, IFormatProvider) 方法。
另请参阅
适用于
ToString(String, IFormatProvider)
- Source:
- Decimal.cs
- Source:
- Decimal.cs
- Source:
- Decimal.cs
使用指定的格式和区域性特定格式信息,将此实例的数值转换为它的等效字符串表示形式。
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 -> stringPublic Function ToString (format As String, provider As IFormatProvider) As String参数
- format
- String
一个数值格式字符串。
- provider
- IFormatProvider
一个提供区域性特定的格式设置信息的对象。
返回
此实例的值的字符串表示形式,由 format 和 provider 指定。
实现
例外
              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 之外的任何有效标准数字格式说明符,也可以是自定义数字格式说明符的任意组合。 如果 format 为 null 或为空字符串,则此实例的返回值使用常规数值格式说明符 (“G”) 进行格式化。
.NET 提供广泛的格式设置支持,以下格式设置主题对此进行了更详细的介绍:
- 有关数字格式说明符的详细信息,请参阅 标准数字格式字符串 和 自定义数值格式字符串。 
- 有关格式设置的详细信息,请参阅 格式设置类型。 
参数provider是其IFormatProvider方法返回 NumberFormatInfo 对象的实现IFormatProvider.GetFormat。 通常, provider 是 NumberFormatInfo 或 CultureInfo 对象。 参数 provider 提供格式设置中使用的特定于区域性的信息。 如果 provider 为 null,则使用当前区域性。