📜  c# tostring currency - C# (1)

📅  最后修改于: 2023-12-03 14:59:40.952000             🧑  作者: Mango

C# ToString Currency

在C#中,我们可以使用ToString方法将数字转换为货币格式。ToString方法可以接收IFormatProvider类型的参数来指定所需的货币格式。在此文档中,我们将介绍如何使用ToString方法以及如何使用IFormatProvider接口来将数字转换为具有特定货币格式的字符串。

使用ToString方法

可以使用ToString方法将数字转换为具有特定货币格式的字符串。下面是一个示例:

decimal moneyValue = 123.45M; // 金额值
string moneyString = moneyValue.ToString("C"); // 使用ToString方法将金额转换为货币格式
Console.WriteLine("Money Value: " + moneyString); // 输出结果:Money Value: $123.45

在上面的示例中,我们首先定义了一个decimal类型的数字moneyValue,并将其设置为123.45。然后,我们使用ToString方法将其转换为指定格式的字符串。在此示例中,我们使用"C"格式字符串来指定货币格式。最后,我们将输出字符串打印到控制台上。

除了使用"C"格式外,还可以使用其他字符串来指定不同的货币格式。下面是一些其他格式字符串的示例:

| 格式字符串 | 描述 | | --- | --- | | "C" | 货币格式。 | | "C0" | 货币格式,并省略小数部分。 | | "C1" | 货币格式,并保留一位小数。 | | "C2" | 货币格式,并保留两位小数。 | | "C3" | 货币格式,并保留三位小数。 |

使用IFormatProvider

我们也可以使用IFormatProvider接口来指定特定的货币格式。IFormatProvider是一个接口,定义了一种将对象值格式化为字符串的机制。在C#中,NumberFormatInfo类实现了IFormatProvider接口,并可用于指定货币格式。下面是一个示例:

decimal moneyValue = 123.45M; // 金额值
string moneyString = moneyValue.ToString("C", new System.Globalization.CultureInfo("en-US")); // 使用IFormatProvider指定格式
Console.WriteLine("Money Value: " + moneyString); // 输出结果:Money Value: $123.45

在上面的示例中,我们首先定义了一个decimal类型的数字moneyValue,并将其设置为123.45。然后,我们使用ToString方法将其转换为特定的货币格式。需要注意的是,我们在ToString方法中还使用了第二个参数,即一个CultureInfo对象,用于指定货币格式。在此示例中,我们使用"en-US"(美国英语)的CultureInfo对象。

需要指出的是,也可以使用其他CultureInfo对象来指定特定的货币格式,以满足所需的特定格式要求。