当前区域性 - 显示欧元符号 (€) 而不是 EUR 字符串
Current culture - display euro symbol (€) instead of EUR string
当前文化设置为 "sk-SK"(斯洛伐克货币为欧元)我想在 Razor 中将价格显示为货币时显示欧元符号 (€) 而不是 "EUR" 字符串 Price.ToString("c")
.
当我将当前文化更改为德语 ("de-DE") 时,会显示欧元符号 (€)。
我也想在显示斯洛伐克文化的价格时显示欧元符号(不是 "EUR" 字符串)。
我认为这是 OS 相关的(我们的 OS 是 Windows Server 2012)但本文建议更改默认货币:https://www.howtogeek.com/240216/how-to-change-windows-default-currency-from-dollars-to-euros/(在我们的例子中来自EUR 到 €) 不会改变货币符号的显示方式。如何将货币显示为欧元而不是欧元?
CultureInfo ci = new CultureInfo("sk-SK");
ci.NumberFormat.CurrencySymbol = "€";
CultureInfo.DefaultThreadCurrentCulture = ci;
double Price = 10.0;
Console.WriteLine(Price.ToString("c"));
这会产生输出
10,00 €
另一种可能性是将文化信息作为 IFormatProvider
in ToString()
:
Console.WriteLine(Price.ToString("c",ci));
当前文化设置为 "sk-SK"(斯洛伐克货币为欧元)我想在 Razor 中将价格显示为货币时显示欧元符号 (€) 而不是 "EUR" 字符串 Price.ToString("c")
.
当我将当前文化更改为德语 ("de-DE") 时,会显示欧元符号 (€)。
我也想在显示斯洛伐克文化的价格时显示欧元符号(不是 "EUR" 字符串)。
我认为这是 OS 相关的(我们的 OS 是 Windows Server 2012)但本文建议更改默认货币:https://www.howtogeek.com/240216/how-to-change-windows-default-currency-from-dollars-to-euros/(在我们的例子中来自EUR 到 €) 不会改变货币符号的显示方式。如何将货币显示为欧元而不是欧元?
CultureInfo ci = new CultureInfo("sk-SK");
ci.NumberFormat.CurrencySymbol = "€";
CultureInfo.DefaultThreadCurrentCulture = ci;
double Price = 10.0;
Console.WriteLine(Price.ToString("c"));
这会产生输出
10,00 €
另一种可能性是将文化信息作为 IFormatProvider
in ToString()
:
Console.WriteLine(Price.ToString("c",ci));