如何处理在.NET中使用多种货币的国家/地区?

Dan*_* T. 8 c# asp.net currency internationalization .net-3.5

我有一个应用程序,我想使用国家/地区的本机货币格式来格式化货币.问题是,某些国家/地区使用多种货币,但.NET仅为每个国家/地区分配一种货币.例如,罗马尼亚使用EURRON.当我从.NET获取货币信息时:

var cultureInfo = new CultureInfo("ro-RO");
Console.WriteLine("cultureInfo.NumberFormat.CurrencySymbol);
Run Code Online (Sandbox Code Playgroud)

输出是leu,这是RON货币类型.

我如何在.NET中获得此案例的欧元?我有3个字母的ISO货币代码(EUR)和国家语言(ro-RO),但我不知道如何使用此信息来获取格式正确的欧元货币字符串.

fen*_*222 1

您可以将货币符号替换为自定义货币符号(在本例中为 leu 替换为 euro)

\n\n
NumberFormatInfo LocalFormat = (NumberFormatInfo)NumberFormatInfo.CurrentInfo.Clone();\nLocalFormat.CurrencySymbol = "\xe2\x82\xac";\n\ndecimal money = 100;\nConsole.WriteLine(money.ToString("c", LocalFormat));\n
Run Code Online (Sandbox Code Playgroud)\n