There is a decimal separator in your value. This suggests it is not an integer but actually a decimal (or real) value.
You should use decimal.TryParse()
or double.TryParse()
rather than int.TryParse() then cast the result to int.
string val = "17.0";
decimal d = 0;
int i = 0;
if (!decimal.TryParse(val, NumberStyles.AllowDecimalPoint, CultureInfo.InvariantCulture, out d))
{
Console.WriteLine("Not a decimal");
}
else
{
i = (int)d;
Console.WriteLine(i);
}