在我的工作中,我必须找到一种方法来动态获取货币的小数位数。然后,我检查了CultureInfo中是否包含该信息,但是CultureInfo类中没有货币信息。如何使用RegionInfo获取CultureInfo?
我通过在RegionInfo类中使用ISOCurrencyCode找到了解决方案。我使用LINQ在RegionInfo和CultureInfo类之间进行了映射。希望对您有所帮助。
因此,我使用LINQ进行了此映射以用作源:
Dictionary<string, int> currencyCultureMap = CultureInfo.GetCultures(CultureTypes.SpecificCultures).Select(c => new KeyValuePair<string, int>(new RegionInfo(c.LCID).ISOCurrencySymbol, c.NumberFormat.CurrencyDecimalDigits)).GroupBy(kp => kp.Key).ToDictionary(kp => kp.First().Key, kp => kp.First().Value);