Вы должны предоставить другую культуру, поскольку в InvariantCulture
запятая ,
представляет собой тысячу разделителей , которые будут игнорироваться , когда разрешено (и т. Д.у вас есть -246 в случае NumberStyles.Any
):
"123,345,789" -> 123456789
Вы можете попробовать, скажем, CurrentCulture
(если ваша текущая культура использует ,
в качестве десятичного разделителя)
double.TryParse(strValue, NumberStyles.Float, CultureInfo.CurrentCulture, out value);
Или поставить конкретную культуру, например русскую:
double.TryParse(strValue, NumberStyles.Float, CultureInfo.GetCultureInfo("ru-RU"), out value);