货币格式与动态货币符号
本文关键字:货币 符号 动态 格式 | 更新日期: 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);