using System.Globalization;
public static void Main()
TestParsingWithCulture("51.75", "de-DE");
TestParsingWithCulture("51.75", "fr-FR");
private static void TestParsingWithCulture(string jsonString, string cultureName)
CultureInfo culture = new CultureInfo(cultureName);
CultureInfo.CurrentCulture = culture;
Console.WriteLine($"Testing with culture: {cultureName}");
decimal? result = GetDecimalValue(jsonString);
Console.WriteLine($"Parsed value: {result.Value}");
Console.WriteLine("Parsing failed.");
private static decimal? GetDecimalValue(string jsonString)
return decimal.TryParse(jsonString, NumberStyles.Number, CultureInfo.CurrentCulture, out decimal d) ? d : (decimal?)null;