Umwandlung von Int zu Fload im Arduino Code

Vor kurzem habe ich mit dem SI7021 an meinem ESP8266 gespielt und dabei festgestellt, dass die verwendete Bibliothek die Temperatur ohne Komma oder Punkt ausgibt. Also 2495 statt 24,95°C. Soweit nicht so wild, aber für die Übergabe an MQTT war es notwendig einen Float-Wert für die Temperatur auszugeben.

Werbung


Und so gehts:

float tempfloat;
int tempint = 2495;
tempfloat = (float) tempint / 100.0;

Bei der Division ist dabei wichtig, dass die Nachkommastelle angegeben wird. Die Angabe von (float) führt ein „casting“ durch, was den Typ ändert.

Hilfestellungen:

Veröffentlicht von

Uli

IT-Nerd und Admin

Schreibe einen Kommentar

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