0 голосов

Здравствуйте пользователи этого форума.Есть такая проблема у меня на ардуино приходит строки с разными значениями и мне их надо как то вывести эти числа в строках в int как это сделать помогите пожалуйста.

70 n0:199 ff ff ff
70 n0:198 ff ff ff
70 n0:196 ff ff ff
  70 n0:10 ff ff ff
    70 n0:1 ff ff ff
70 n0:100 ff ff ff
70 n0:150 ff ff ff


 

Типа такие строки есть .Ну вообще мне надо вывести именно что после n0: то есть те числа которые отличаются.

(0 баллов) 1 2
ff ff ff -  для вас это тоже постоянная часть?

1 Ответ

+1 голос
String srt="70 n0:150 ff ff ff";
str=str.replace("70 n0:","");
str=str.replace(" ff ff ff","");
str=str.replace(" ","");
int val=str.toInt();

Идея заключается в том, чтобы заменить постоянные части строки на пустоту и в конце концов оставить в строке только цифру. Её и привести к int функцией класса строк toInt().
кстати если эта функция возвращает 0 это может значить что преобразование не может быть произведено.
Первую постоянную часть можно также убрать следующим способом:

str.substring(0,5);


Также лучше проверить чему равна строка после всех этих преобразований.

(3.1 тыс. баллов) 14 20 41
Добро пожаловать на Бредборд! Сайт вопросов и ответов на тему Arduino, Raspberry Pi и хоббийной электроники в целом. Цель Бредборда — быть максимально полезным. Поэтому мы строго следим за соблюдением правил, боремся с холиворами и оффтопиком.
...