Wer sich mit der Arduino IDE und Modulen wie ESP8266, ESP32 oder auch dem Arduino selber beschäftigt, wird früher oder später mal über das Problem stolpern, verschiedene Datentypen zu kombinieren zu wollen, oder auch Datentypen im Allgemeinen umwandeln zu wollen, um die Daten dann in anderen Operationen nutzen zu können. Ein gängiger cast wäre zum Beispiel eine int Variable in eine float Variable umzuwandeln, um damit genauer rechnen zu können.
Leider gib es keine Methode oder Funktion, die universell einsetzbar ist. Es kommt immer ganz drauf an, welchen Datentypen ihr umwandeln wollt, und vor allem welcher Datentyp am Ende rauskommen soll. Hier versuche ich mal alle Gängigen Datentyp-Konvertierungen aufzulisten - gruppiert nach dem gewünschten End-Datentyp.
Habt ihr weitere Vorschläge und Hinweise bzw. Snippets, dann würde ich mich freuen, wenn ihr sie unter diesem Beitrag hier teilen würdet.
Datentyp : StringInteger
int i = 25; String convertedString = String(i); // "25"Float
float i = 22.5367; String convertedString = String(i, 3); // "22.536"Bool
bool state = false; String convertedString = String(state ); // "0" Datentyp : IntString
String number = "255"; int i = number.toInt(); // 255Float
float number = "123.232"; int i = (int)number; // 123Char
char myChar[] = "147"; int i= atoi(myChar); // 147 Datentyp : FloatInt
int i = 187; float myFloat= float(i); // 187.00String
String number = "14.2653"; float i = number.toFloat(); // 14.2653