.NET Fiddle

CSharp · Console

/Program.cs

using System;
using System.Globalization;

public class Program
{
	public static void Main()
	{
		Console.WriteLine(TryParseCurrency("5"));
		Console.WriteLine(TryParseCurrency("$5"));
		Console.WriteLine(TryParseCurrency("€ 5,00"));
		Console.WriteLine(TryParseCurrency("5,00 €"));
		Console.WriteLine(TryParseCurrency("¥5.00"));
		Console.WriteLine(TryParseCurrency("£5.00"));
	}

	static decimal? TryParseCurrency(string str)
	{
		foreach (var culture in CultureInfo.GetCultures(CultureTypes.AllCultures))
		{
			if (decimal.TryParse(str, NumberStyles.Currency, culture, out var amount))
				return amount;
		}

		return null;
	}
}
;