CSharp · Console
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;
}
}