@ki11k4
Web программист - любитель

Как решить ошибку конвертации данных с последовательного порта?

Получаю данные с COM порта. Приходит значение от 0 до 100.
Когда пытаюсь конвертировать в int выскакивает ошибка (скрин прилогается).

Сам код:
string inpSerial = serialPort1.ReadExisting();
label1.Text = inpSerial;
int numm = int.Parse(inpSerial);
progressBar1.Value = numm;


Ошибка:
5c231b218654c388104367.png

Если пробовать получить через serialPort1.ReadLine();, а не через serialPort1.ReadExisting();, то ошибка не проявляется, но такой вариант меня не устраивает так как падает производительность.
  • Вопрос задан
  • 67 просмотров
Решения вопроса 1
А что в inpSerial при возникновении ошибки? Явно не число.

bool successfullyParsed = int.TryParse(inpSerial, out num);
if (successfullyParsed){
    // ...
}

где num отпарсеное число, в случае ошибки successfullyParsed будет содержать false
https://docs.microsoft.com/en-us/dotnet/api/system...
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через TM ID
Похожие вопросы
от 40 000 до 70 000 руб.
SLC7 Екатеринбург
от 50 000 до 90 000 руб.
Fmedia Санкт-Петербург
от 120 000 до 150 000 руб.
17 янв. 2019, в 17:21
20000 руб./за проект
17 янв. 2019, в 16:57
1000 руб./за проект