Ja weil du weiterhin
real verbrauch = (avg/100) * maxleistung * 24 / (heizwert * zustandszahl);
schreibst statt dich an das Beispiel von Baxxy zu halten
real verbrauch = (prozent/100) * maxleistung * 24 / (heizwert * zustandszahl);
Moderator: Co-Administratoren
Ja weil du weiterhin
Hier muß ich dich korrigieren, denn hier findet eine implizite Typkonvertierung statt - mit unerwünschter Ganzzahlrundung. Richtig müßte es heißen:Baxxy hat geschrieben: ↑27.11.2020, 23:31und richtiger Berechnungszeile:sollte es dann, vorausgesetzt die "Formel" stimmt, passen.Code: Alles auswählen
real verbrauch = (prozent/100) * maxleistung * 24 / (heizwert * zustandszahl);
Code: Alles auswählen
real verbrauch = ((prozent/100.0) * maxleistung * 24.0) / (heizwert * zustandszahl);
Echt?
Ich kenne es aus anderen Bereichen ja auch nur so
Code: Alles auswählen
real prozent = 50;
Code: Alles auswählen
real a = "TEST";
WriteLine(a);
Code: Alles auswählen
string avg ="120";
var rechnung = avg/100;
durch die automatische Typumwandlung ist das ja auch gar nicht möglich.
Code: Alles auswählen
string avg;
system.Exec("curl 'http://192.168.133.102:8091/query/text.gy?dp=294&b=-1M&ag=avg'", &avg); ! Wert aus CCU-Homematic holen
WriteLine("Wert aus CCU-Historian: "#avg);
! Zur Info: avg wird mit 21.732221897909106 zurückgeleifert
real rechnung = avg/100;
WriteLine("Ergebnis: "#rechnung);
Code: Alles auswählen
Wert aus CCU-Historian: 21.732221897909106
Ergebnis: 21.732221897909106
avg ist aber ein string. Und mit strings rechnet es sich schlecht.
Code: Alles auswählen
real rechnung = avg.ToFloat()/100.0;
WriteLine("Ergebnis: "#rechnung);