Decimal.ToString 方法

定义

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

重载

名称 说明
ToString()

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

ToString(IFormatProvider)

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

ToString(String)

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

ToString(String, IFormatProvider)

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

ToString()

Source:
Decimal.cs
Source:
Decimal.cs
Source:
Decimal.cs
Source:
Decimal.cs
Source:
Decimal.cs

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

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

返回

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

示例

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

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

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

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

.NET 提供广泛的格式支持,在以下格式设置主题中对此进行了更详细的描述:

另请参阅

适用于

ToString(IFormatProvider)

Source:
Decimal.cs
Source:
Decimal.cs
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 -> string
Public Function ToString (provider As IFormatProvider) As String

参数

provider
IFormatProvider

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

返回

此实例的值的字符串表示形式,由 provider.

实现

示例

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

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

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

.NET 提供广泛的格式支持,在以下格式设置主题中对此进行了更详细的描述:

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

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

另请参阅

适用于

ToString(String)

Source:
Decimal.cs
Source:
Decimal.cs
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 -> string
Public 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 之外的任何有效 标准数字格式说明符 以及 自定义数字格式说明符的任意组合。 如果 formatnull 或空字符串,则此实例的返回值使用常规数值格式说明符 (G) 进行格式化。

.NET 提供广泛的格式支持,在以下格式设置主题中对此进行了更详细的描述:

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

另请参阅

适用于

ToString(String, IFormatProvider)

Source:
Decimal.cs
Source:
Decimal.cs
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 -> string
Public Function ToString (format As String, provider As IFormatProvider) As String

参数

format
String

数字格式字符串。

provider
IFormatProvider

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

返回

此实例的值的字符串表示形式,由 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 。 通常为providerNumberFormatInfoCultureInfo对象。 该 provider 参数提供格式设置中使用的区域性特定信息。 provider如果是null,则使用线程当前区域性。

另请参阅

适用于