货币格式与动态货币符号

本文关键字:货币 符号 动态 格式 | 更新日期: 2023-09-27 17:54:07

在c#中,代码Console.WriteLine("{0:c}", 998);给出了默认"US-Language"设置下的输出$998。但是,如果我想根据用户偏好动态地将我的货币符号更改为英镑、英镑、卢比或任何货币符号,有没有办法做到这一点?比如说,我调用一个方法:

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

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

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

提前感谢大家。

货币格式与动态货币符号

您可以使用文化:

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

或者简单地将当前线程区域性设置为某个用户首选项,然后打印值:

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