sprintf und Nachkommastellen

Begonnen von Erich Fromm, 30 April 2018, 11:27:59

Vorheriges Thema - Nächstes Thema

Erich Fromm

Hallo.

Ich bin hier gerade etwas ratlos. Ich halbe folgendes Userreading ...

attr ugPowerSensor_IEC_01 userReadings
kWh {sprintf("%.3f",ReadingsVal("ugPowerSensor_IEC_01","energy","???")/1000+26307.19)},
energyDifference difference {sprintf("%.3f",ReadingsVal("ugPowerSensor_IEC_01","energy","???"))},
energyDifferential differential {sprintf("%.3f",ReadingsVal("ugPowerSensor_IEC_01","energy","???")*3.6)}


... und möchte erreichen, dass kWh, energyDifference und energyDifferential jeweils mit drei Nackkommastellen dargestellt werden.
Das Resultat ist aber: kWh korrekt mit drei Nachkommastellen - energyDifference und energyDifferential aber mit vielen/allen Nachkommastellen.
Beispiel:
energyDifference 37.3000000000029
energyDifferential 0.787968641175301
kWh 26364.478


Bin für jeden Hinweis dankbar.

Gruß
Erich

Otto123

Hallo Erich,

weil das Ergebnis einer Berechnung mit zwei Zahlen mit jeweils 3 Nachkommastellen nicht zwangsläufig wieder eine Zahl mit drei Nachkommastellen sein muss.
difference und differential sind ja wieder Berechnungen.
Mein einziger Ansatz, Du musst das Ergebnis formatieren.

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Erich Fromm