У меня есть функция, которая получает строковые параметры и преобразует их в целые числа.
Для безопасного преобразования используется int.TryParse().int.TryParse() возвращает false для "#. ##"
public IEnumerable<object> ReportView(string param1, string param2)
{
int storeId = int.TryParse(param1, out storeId) ? storeId : 0;
int titleId = int.TryParse(param2, out titleId) ? titleId : 0;
IEnumerable<object> detailView = new Report().GetData(storeId, titleId);
return detailView;
}
Вызов функции ReportView («2»,»4”) -> int.Tryparse успешно разбор число
Функции вызова ReportView („2,00“,» 4,00”) -> int.TryParse терпит неудачу для анализа номеров
Почему? Есть идеи?
@Update
Извините, ребята, моя концепция была неправильной. Я новичок в C#, я думал, Int.TryParse() вернет неотъемлемую часть и проигнорирует десятичные знаки. Но это не будет, даже Convert.ToInt32 ("string")
Спасибо всем.
Вы также должны указать культуру. – CodesInChaos
Я не понимаю, почему это занижено. Вопрос, безусловно, является вопросом новичков, но он понятен и достаточно хорошо сформулирован. –
@moguzalp Должны ли люди забираться из-за незнания чего-то, когда они задают вопрос? –