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 : String
Integer
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 : Int
String
String number = "255";
int i = number.toInt();
// 255
Float
float number = "123.232";
int i = (int)number;
// 123
Char
char myChar[] = "147";
int i= atoi(myChar);
// 147
Datentyp : Float
Int
int i = 187;
float myFloat= float(i);
// 187.00
String
String number = "14.2653";
float i = number.toFloat();
// 14.2653