1

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

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

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

还有一件事是有什么方法可以插入自定义货币符号。我的观点是,如果一种货币带有一个新符号(就像印度的卢比符号一样),如何在代码中立即启用它。

谢谢大家。

4

1 回答 1

4

你可以使用一种文化:

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

或者简单地将当前线程文化设置为某些用户偏好,然后打印该值:

Thread.CurrentThread.CurrentCulture = new CultureInfo("en-GB");
Console.WriteLine("{0:c}", value);
于 2011-04-30T06:45:53.930 回答