在C#中,代码Console.WriteLine("{0:c}", 998);
在默认的“美国语言”设置中提供输出$998
。但是,如果我想根据用户偏好动态地将我的货币符号更改为英镑,英镑,卢比或任何货币符号,那么有什么方法可以做到这一点。说,我称之为方法:
public void PrintInRightCurrencyFormat(decimal value, ICustomFormatter format)
{
Console.WriteLine( ... ... ... );
}
此方法将以所需格式打印该值。
还有一件事是有没有办法插入自定义货币符号。我的观点是,如果货币带有新符号(就像印度用其卢比符号所做的那样),如何在代码中立即启用它。
提前谢谢大家。
答案 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);