String to Int függvény

Lehetővé teszi, hogy egy karakterláncot egész számmá alakítson át.


Utolsó felülvizsgálat: 2022.02.04 16:50


A toInt() függvény lehetővé teszi, hogy egy Stringet egész számmá alakítson át.

Ebben a példában a kártya addig olvas egy soros bemeneti karakterláncot, amíg újsort nem lát, majd a karakterláncot számmá alakítja, ha a karakterek számjegyek. Miután feltöltötte a kódot a kártyára, nyissa meg az Arduino IDE soros monitort, írjon be néhány számot, és nyomja meg a küldés gombot. A tábla visszaküldve megismétli ezeket a számokat. Figyelje meg, mi történik, ha nem numerikus karaktert küld.

Hardver szükséglet

  • Arduino kártya

Az áramkör

Ebben a példában nincs áramkör, bár a kártyát USB-n keresztül kell csatlakoztatni a számítógéphez, és az Arduino Software (IDE) soros monitor ablakának nyitva kell lennie.

A kód

/*
  String to Integer conversion

  A soros bemeneti karakterláncot addig olvassa, amíg újsort nem lát,
  majd számmá alakítja a karakterláncot, ha a karakterek számjegyek.

  Az áramkör:
  - Nincs szükség külső alkatrészre.

  created 29 Nov 2010
  by Tom Igoe

  Ez a kód nyilvános.

  https://docs.arduino.cc/built-in-examples/strings/StringToInt
*/

String inString = "";    // String a bemenet megtartásához

void setup() {
  // Nyissa meg a soros kommunikációt, és várja meg, amíg megnyílik a port:
  Serial.begin(9600);
  while (!Serial) {
    ; // várja meg a soros port csatlakozását. Csak a natív USB-porthoz szükséges
  }

  // küldj bevezetőt:
  Serial.println("\n\nString toInt():");
  Serial.println();
}

void loop() {
  // Soros bemenet olvasása:
  while (Serial.available() > 0) {
    int inChar = Serial.read();
    if (isDigit(inChar)) {
      // konvertálja a bejövő bájtot karakterré, és adja hozzá a karakterlánchoz:
      inString += (char)inChar;
    }
    // ha újsort kap, írja ki a karakterláncot, majd a karakterlánc értékét:
    if (inChar == '\n') {
      Serial.print("Value:");
      Serial.println(inString.toInt());
      Serial.print("String: ");
      Serial.println(inString);
      // törölje a karakterláncot az új bemenethez:
      inString = "";
    }
  }
}

Tudj meg többet

További alapvető oktatóanyagokat a beépített példák részben talál.

Felfedezheti a nyelvi referenciát is, az Arduino programozási nyelv részletes gyűjteményét.