具有动态货币符号的货币格式

发布于 2024-11-04 13:14:52 字数 431 浏览 2 评论 0原文

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

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

这个方法将以所需的格式打印该值。

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

预先感谢大家。

In C# the code Console.WriteLine("{0:c}", 998); gives the output $998 in default "US-Language" settings. But if I want to dynamically change my currency symbol to Pound, Sterling, Rupee or any currency symbol depending upon user preference, is there any way around to do this. Say, I call a method:

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

And this method will print the value in required format.

One more thing is that is there any way to insert a custom currency symbol. My point is that if a currency comes with a new symbol(Like India did with its Rupee symbol), how to enable that immediately in code.

Thank you all in advance.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

你列表最软的妹 2024-11-11 13:14:52

您可以使用区域性:

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

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

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

You could use a culture:

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

or simply set the current thread culture to some user preference and then print the value:

Thread.CurrentThread.CurrentCulture = new CultureInfo("en-GB");
Console.WriteLine("{0:c}", value);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文