Как преобразовать строковую переменную в тип int?

Тема в разделе "Arduino & Shields", создана пользователем jonny_omsk, 7 июл 2017.

  1. jonny_omsk

    jonny_omsk Нуб

    Имеется вот такой вот код на ардуино, который извлекает подстроку из строки.
    Передали с компьютера: test;10;test, получили 10.
    Переменной z типа int нужно присвоить число 10 из строковой переменной.

    Помогите пожалуйста!

    Код (C++):
    String str = "";
    long time = millis();

    void setup()
    {
      Serial.begin(9600);
    }

    void loop()
    {
      while (Serial.available() > 0)
      {
        str = Serial.readStringUntil('\n');
      }
      if (str != 0)
      {
        int one = str.indexOf(';');
        int two = str.indexOf(';' , one + 1);

        Serial.println(str.substring(one + 1, two));

        int z = str.toInt();

        for (int i = 0; i <= z; i++) {
          digitalWrite(13, 1);
          delay(1000);
          digitalWrite(13, 0);
          delay(1000);
        }
        str = "";
      }
    }
     
  2. Unixon

    Unixon Оракул Модератор

    int z = str.toInt(); вам ничего не напоминает?
     
  3. jonny_omsk

    jonny_omsk Нуб

    Нет, ничего не напоминает. А что мне эта строка должна напомнить?
    Только что удалось решить проблему с помощью создания еще одной строковой переменной.

    Код (C++):
    String stroka = "";
    stroka = str.substring(one + 1, two);
        Serial.println(stroka);

        int z = stroka.toInt();
     
     
    Последнее редактирование: 7 июл 2017