C# 如何将系统货币符号转换为字符串

C# 如何将系统货币符号转换为字符串,c#,console-application,C#,Console Application,如果我这样做: Console.Write("The sum is {0:c}", 12); 我在一台瑞典计算机上,所以它会返回: 总和为12,00克朗 但是,有没有一种简单的方法只获取货币符号而不获取数字? 像这样(显然这不起作用,但只是为了表明我在追求什么): 我希望输出:符号是kr您可以使用: System.Globalization.CultureInfo.CurrentCulture.NumberFormat.CurrencySymbol; 您可以在CurrentCulture中将

如果我这样做:

Console.Write("The sum is {0:c}", 12);
我在一台瑞典计算机上,所以它会返回: 总和为12,00克朗

但是,有没有一种简单的方法只获取货币符号而不获取数字? 像这样(显然这不起作用,但只是为了表明我在追求什么):

我希望输出:符号是kr

您可以使用:

System.Globalization.CultureInfo.CurrentCulture.NumberFormat.CurrencySymbol;
您可以在CurrentCulture中将其从中删除:

Console.Write(System.Threading.Thread.CurrentThread.CurrentCulture.NumberFormat.CurrencySymbol)

此代码应返回您要查找的货币符号

System.Globalization.RegionInfo.CurrentRegion.CurrencySymbol
您也可以使用以下代码来获取ISO货币符号

System.Globalization.RegionInfo.CurrentRegion.ISOCurrencySymbol

这对我来说是一美元的回报,我很确定我在英国;)。它必须是
CurrentCulture
而不是
CurrentUICulture
。在这种情况下,ISO选项看起来更好。是否有关于使用RegionInfo或CultureInfo更好的特定标准(或意见)?@Tophe根据,
System.Globalization.RegionInfo.CurrentRegion
基于通过控制面板的区域和语言选项部分选择的区域性。我认为CultureInfo可以通过您的即时应用程序进行更改。
System.Globalization.RegionInfo.CurrentRegion.ISOCurrencySymbol