using System.Globalization;
public static void Main()
Console.WriteLine("Hello World");
Console.WriteLine(prepareDecimal("01.01"));
public static decimal prepareDecimal(string value)
value = value.Split(' ')[0];
CultureInfo culture = new CultureInfo("pt-BR");
NumberStyles style = NumberStyles.Number | NumberStyles.AllowDecimalPoint;
if (decimal.TryParse(value, style, culture, out decimal result))
if (value.Split('.').Length - 1 > 1)
int lastIndex = value.LastIndexOf('.');
value = value.Remove(lastIndex, 1).Insert(lastIndex, ",");
else if (value.Split('.').Length - 1 == 1 && value.Split('.')[1].Length == 2 && !value.Contains(","))
value = value.Replace('.', ',');
else if (value.Split(',').Length - 1 > 1)
int lastIndex = value.LastIndexOf(',');
value = value.Replace(',', '.');
value = value.Remove(lastIndex, 1).Insert(lastIndex, ",");
CultureInfo newCulture = new CultureInfo("pt-BR");
NumberStyles newStyle = NumberStyles.Number | NumberStyles.AllowDecimalPoint;
if (decimal.TryParse(value, newStyle, newCulture, out decimal newResult))