kav@94 Ответов: 1

Как добавить значения с точкой с запятой


В моем приложении есть цикл, где я буду получать 24:00,32:00,268:00 3425:00 в моей таблице DataTable теперь мне нужно, чтобы добавить все эти и привязать к GridView в том, как я могу сделать это, я получаю ошибки рядом
int va = Convert.ToInt32(Total.ToString());
как
Input string was not in a correct format.


string Total = hrs + ":" + Mval.ToString();
                    int va = Convert.ToInt32(Total.ToString());
                    val = val + va;


Что я уже пробовал:

я попробовал выше код, но он дает ошибку

Richard MacCutchan

Просто сохраните все значения в виде минут или используйте класс DateTime для правильного управления ими.

Michael_Davies

Итого, который является строкой, так что в этом нет необходимости .ToString (), имеет нечисловой символ ":" в нем, и это не может быть преобразовано в целое число, следовательно, исключение.

1 Ответов

Рейтинг:
1

Jochen Arndt

У вас есть какие - то значения времени в вашей строке, которые не могут быть преобразованы в int.
На ваш вопрос нельзя ответить, не зная, какая единица времени ваша целочисленная переменная val содержит.

Если это должны быть минуты, то ваш фрагмент кода предполагает, что

val += hrs * 60 + Mval;
может использоваться при hrs это int.

Или когда hrs являться строкой:
val += Convert.ToInt32(hrs) * 60 + Mval;


Jochen Arndt

Это все еще не дает ответа на вопрос о единице измерения val.
Целое число не может представлять время, разбитое на часы и минуты.

Мое решение показывает вам, как хранить минуты в целочисленном виде. Если это нормально, используйте его:
val += hrs * 60 + Convert.ToInt32(mm);

Если это не то, что вы хотите, вы должны использовать тип, который может хранить такие времена, как TimeSpan и использовать предусмотренные функции преобразования (метод toString, синтаксический анализ, метод parseexact, метод tryparse, метод tryparseexact).