using System.Globalization;
public static void Main()
var value = "€5,432,109.876";
var cultureInfo = CultureInfo.CreateSpecificCulture("fr-FR");
if (!decimal.TryParse(value, NumberStyles.Any, cultureInfo, out result))
Console.WriteLine(string.Format("Unable to parse '{0}' as a number using the '{1}' culture with currency symbol '{2}'.", value, cultureInfo.IetfLanguageTag, cultureInfo.NumberFormat.CurrencySymbol));
Console.WriteLine(result.ToString(cultureInfo));