货币格式与动态货币符号

时间:2011-04-30 06:44:21

标签: c# string currency-formatting

在C#中,代码Console.WriteLine("{0:c}", 998);在默认的“美国语言”设置中提供输出$998。但是,如果我想根据用户偏好动态地将我的货币符号更改为英镑,英镑,卢比或任何货币符号,那么有什么方法可以做到这一点。说,我称之为方法:

public void PrintInRightCurrencyFormat(decimal value, ICustomFormatter format)
{
     Console.WriteLine( ... ... ... );
}

此方法将以所需格式打印该值。

还有一件事是有没有办法插入自定义货币符号。我的观点是,如果货币带有新符号(就像印度用其卢比符号所做的那样),如何在代码中立即启用它。

提前谢谢大家。

1 个答案:

答案 0 :(得分:3)

您可以使用文化:

Console.WriteLine(string.Format(new CultureInfo("en-GB"), "{0:c}", value));

或者只是将当前线程文化设置为某个用户首选项,然后打印值:

Thread.CurrentThread.CurrentCulture = new CultureInfo("en-GB");
Console.WriteLine("{0:c}", value);