在值后显示货币符号

发布于 2024-10-21 04:08:17 字数 176 浏览 0 评论 0原文

我正在使用 CultureInfo 方法成功地将所有不同的货币格式化为其正确的格式。

但在某些例外情况下,例如欧元和瑞典克朗货币,我需要能够在值后添加它们。目前,我的 CultureInfo 正在按以下方式格式化它们:“SEK 1.00,00”,当它需要为“1.00,00 SEK”时。

任何帮助表示赞赏。

I am using CultureInfo methods to successfully format all different currencies into their correct format.

But on some exceptions, such as EUR and SEK currencies I need to be able to add them after the value. At the moment my CultureInfo is formatting them in the following way: "SEK 1.00,00" when it needs to be "1.00,00 SEK".

Any help is appreciated.

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

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

发布评论

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

评论(3

世界如花海般美丽 2024-10-28 04:08:17

您所需要做的就是更改 NumberFormatInfo.CurrencyPositivePattern< /a> 和 NumberFormatInfo.CurrencyNegativePattern文化的属性。

只需克隆原始文化:

CultureInfo swedish = new CultureInfo("sv-SE");
swedish = (CultureInfo)swedish.Clone();
swedish.NumberFormat.CurrencyPositivePattern = 3;
swedish.NumberFormat.CurrencyNegativePattern = 3;

然后

var value = 123.99M;
var result = value.ToString("C", swedish);

应该会给你想要的结果。这应该会让你:

123,99 克朗

All you need is to change the NumberFormatInfo.CurrencyPositivePattern and NumberFormatInfo.CurrencyNegativePattern properties for the culture.

Just clone the original culture:

CultureInfo swedish = new CultureInfo("sv-SE");
swedish = (CultureInfo)swedish.Clone();
swedish.NumberFormat.CurrencyPositivePattern = 3;
swedish.NumberFormat.CurrencyNegativePattern = 3;

and then

var value = 123.99M;
var result = value.ToString("C", swedish);

should give you desired result. This should get you:

123,99 kr

萌能量女王 2024-10-28 04:08:17

CurrencyNegativePattern

请小心此代码

CultureInfo swedish = new CultureInfo("sv-SE");
swedish = (CultureInfo)swedish.Clone();
swedish.NumberFormat.CurrencyPositivePattern = 3;
swedish.NumberFormat.CurrencyNegativePattern = 3;

将为您提供的

134,99 克朗。

134,99kr.-

将CurrencyNegativePattern 更改为8

swedish.NumberFormat.CurrencyNegativePattern = 8;

将为您提供

134,99 克朗。

-134,99 克朗。

更多信息 https:// /msdn.microsoft.com/en-us/library/system.globalization.numberformatinfo.currencynegativepattern(v=vs.110).aspx

Be careful about the CurrencyNegativePattern

This code

CultureInfo swedish = new CultureInfo("sv-SE");
swedish = (CultureInfo)swedish.Clone();
swedish.NumberFormat.CurrencyPositivePattern = 3;
swedish.NumberFormat.CurrencyNegativePattern = 3;

Will give you

134,99 kr.

kr.134,99kr.-

Changing CurrencyNegativePattern to 8

swedish.NumberFormat.CurrencyNegativePattern = 8;

Will give you

134,99 kr.

-134,99 kr.

More info https://msdn.microsoft.com/en-us/library/system.globalization.numberformatinfo.currencynegativepattern(v=vs.110).aspx

小瓶盖 2024-10-28 04:08:17
string.Format(CultureInfo.CurrentCulture, "{0:C}", moneyValue.DataAmount)
string.Format(CultureInfo.CurrentCulture, "{0:C}", moneyValue.DataAmount)
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文