在服务器上通过C#调用时,此语言代码的货币符号和货币格式显示不正确。
ms-MY(马来语 - 马来西亚语)
服务器控制面板上的语言显示将货币符号设置为RM。在调试C#代码时,它的货币代码设置为R。
我在本地编写了一个迷你控制台程序,以显示ms-MY的货币符号,并显示为RM。
如果我更改服务器上的格式。代码没有获取更改。任何人都知道是否存在奇怪的服务器缓存或存储语言设置的其他地方?
我检查了服务器和本地计算机之间的语言注册表项,它们是相同的。我试过回收应用程序池,它仍然无法正常工作。
服务器上的伪代码
foreach (CultureInfo c in CultureInfo.GetCultures(CultureTypes.InstalledWin32Cultures))
{
if (c.ThreeLetterISOLanguageName != "IVL")
{
r = new RegionInfo(c.LCID);
if (r.ISOCurrencySymbol == isoCurrencyCode)
{
ci = c;
FoundCode = true;
break;
}
}
}
用于本地测试的迷你控制台代码。
decimal amount = 179835.00M ;
Console.WriteLine(amount.ToString("C", CultureInfo.CreateSpecificCulture("ms-my")));
注意当我将其添加到服务器代码上的观察者时:CultureInfo.CreateSpecificCulture(" ms-my")。货币格式显示为R.但是,如果我查看本地控制台上的观察程序代码与服务器无关,则将其设置为RM