Arduino Datentyp Konvertierungen

In diesem Artikel geht es um Datentyp-Konvertierungen in Arduino.

Oftmals kommt es bei der Programmierung mit dem Arduino vor, dass Du Datentypen in andere Datentypen konvertieren musst (z.B. Float nach String). Die häufigsten Konvertierungen habe ich hier aufgelistet. Nach und nach werde ich die Liste noch um fehlende Datentypen und Konvertierungen ergänzen. Im Artikel werden wir uns die folgenden Datentypen-Konvertierungen ansehen:

  • Char nach String
  • Char nach Int
  • Float nach String
  • Float nach Int
  • Int nach String
  • String nach Float
  • String nach Int
  • String nach C-String
  • String nach Double
  • String nach Char-Array


Char nach String
Die Konvertierung erfolgt über den String-Konstruktur. Dem Konstruktur wird dazu die Char-Variable übergeben.

String myString = String('a');


Char nach Int
Die Konvertierung erfolgt über die Funktion atoi().

char myChar[] = "12.345";
int myInt = atoi(myChar);


Float nach String
Die Konvertierung erfolgt über den String-Konstruktur. Dem Konstruktur wird dazu die Float-Variable sowie die Anzahl Nachkommastellen übergeben.

float myFloat = 17.1234;
String myString = String(myFloat, 2);
// myString = "17.12";


Float nach Int
Die Konvertierung erfolgt per cast. Im folgenden Beispiel wird ein Float mit dem Wert 4,6 in Integer umgewandelt. Hierbei wird werden die Nachkommastellen abgeschnitten. Es erfolgt keine Rundung!

float myFloat = 4.6;
int myInt = (int)myFloat;


Int nach String
Die Konvertierung erfolgt über den String-Konstruktur. Dem Konstruktur wird dazu die Int-Variable übergeben.

int myInt = 23;
String myString = String(myInt);
// myString = "23";


String nach Float
Am String Objekt wird direkt die Methode toFloat() aufgerufen, welche aus dem String ein Float-Datentyp konvertiert.

String myString = "23.12";
float myFloat = myString.toFloat();


String nach Int
Am String Objekt wird direkt die Methode toInt() aufgerufen, welche aus dem String ein Float-Datentyp konvertiert.

String myString = "23";
int myInt = myString.toInt();


String nach C-String
Mit dieser Vorgehensweise wird ein String in einen C-String (0-terminierte Zeichenfolge) konvertiert.

String myString = "Hello world!";
char* test = myString.c_str();


String nach Double
Mit dieser Vorgehensweise wird ein String in eine Variable vom Typ Double konvertiert. Bitte darauf achten, dass das Komma-Trennzeichen als Punkt dargestellt wird.

String myString = "23.5";
double myDouble = myString.toDouble();


String nach Char-Array
Mit dieser Vorgehensweise wird ein String in eine Variable vom Typ Double konvertiert. Bitte darauf achten, dass das Komma-Trennzeichen als Punkt dargestellt wird.

String myString = "hello world!";
char[20] myCharArray;
myString.toCharArray(myCharArray,20);



Matthias Korte

Hauptberuflich Software-Entwickler und seit einigen Jahren Smart-Home Fan. Angefangen hat alles mit einem RaspberryMatic und einer schaltbaren Steckdose. Mittlerweile habe ich einige Steckdosen, Sensoren, und Thermostate sowie ioBroker zur Visualisierung im Einsatz.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.