Вы можете использовать Decimal.TryParse , чтобы проверить, можно ли преобразовать значение в десятичный тип. Вместо этого можно также использовать Double.TryParse , если вы присваиваете результат переменной типа Double.
Пример MSDN:
string value = "1,643.57";
decimal number;
if (Decimal.TryParse(value, out number))
Console.WriteLine(number);
else
Console.WriteLine("Unable to parse '{0}'.", value);