using System; using System.Globalization; using System.Linq; using System.Collections.Generic; public class Test { public static void Main() { var cultures = CultureInfo.GetCultures(CultureTypes.AllCultures) .Where(c => !c.IsNeutralCulture); foreach (var ci in cultures) { var currencyValue = 1.234.ToString("C", ci); if(ci.StartsWithCurrencySymbol()) Console.WriteLine("Culture: {0} RTLF? {1} Format: {2}", ci, ci.TextInfo.IsRightToLeft, currencyValue); } } } public static class CultureInfoExtensions { public static bool StartsWithCurrencySymbol(this CultureInfo culture) { bool startsWithCurrencySymbol = culture.NumberFormat.CurrencyPositivePattern == 0 || culture.NumberFormat.CurrencyPositivePattern == 2; return culture.TextInfo.IsRightToLeft ? !startsWithCurrencySymbol : startsWithCurrencySymbol; } }