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);
}
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…