当前文化 - 显示欧元符号(€)而不是EUR字符串

时间:2017-09-11 12:20:04

标签: c# razor currency culture

将目前的文化设定为" sk-SK" (斯洛伐克货币 - 欧元)我想显示欧元符号(€)而不是" EUR"使用Price.ToString("c")在Razor中显示价格作为货币时的字符串。

当我将当前文化更改为德语(" de-DE")时,会显示欧元符号(€)。

我想在显示斯洛伐克文化的价格时显示欧元符号(不是" EUR"字符串)。

我认为这取决于操作系统(我们的操作系统是Windows Server 2012),但更改了本文建议的默认货币:https://www.howtogeek.com/240216/how-to-change-windows-default-currency-from-dollars-to-euros/(在我们的例子中从EUR到€)并没有改变货币符号的方式被展示。如何将货币显示为€而不是EUR?

1 个答案:

答案 0 :(得分:2)

CultureInfo ci = new CultureInfo("sk-SK");
ci.NumberFormat.CurrencySymbol = "€";
CultureInfo.DefaultThreadCurrentCulture = ci;
double Price = 10.0;
Console.WriteLine(Price.ToString("c"));

这会产生输出

  

10,00€

另一种可能性是将文化信息作为IFormatProvider中的ToString()传递:

Console.WriteLine(Price.ToString("c",ci));