FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: mi.ke am 18 Februar 2019, 19:08:21

Titel: [gelöst] Pluszeichen bei positiver Zahl?
Beitrag von: mi.ke am 18 Februar 2019, 19:08:21
moin,
ich schaff es leider alleine nicht.

Ich möchte ein Reading mit dem Wert z.B. 2.2902 mit nur einer Nachkommastelle (gerundet) darstellen.
So weit so gut.
stateformat {sprintf("%.1f",ReadingsVal($name,"DIV",0)}

Bei negativen Werten kommt wie erwartet ein führendes Minus.
Nun soll das Ergebnis aber bei positiven Werten ein Pluszeichen anzeigen.

Laut Recherche über gxxgle kann bei Perl mit dem Parameter +d genau dieses veranlasst werden.

Ich hätte jetzt erwartet, dass ein  {sprintf("%+d.1f", ....)} funktioniert, aber als Resultat kommt +2.1f

Habe jetzt schon alles Mögliche probiert, aber es scheinen nur ganze Zahlen zu funktionieren.
Das runden wird anscheinend als Text interpretiert.

... ich kriegs nicht hin.
Kann mir jemand helfen?

vielen Dank im Voraus

Cheers

mi.ke
Titel: Antw:Pluszeichen bei positiver Zahl?
Beitrag von: amenomade am 18 Februar 2019, 19:14:11
Und mit "%+.1f" ?
Titel: Antw:Pluszeichen bei positiver Zahl?
Beitrag von: mi.ke am 18 Februar 2019, 22:52:43
Ok, das funktioniert so, vielen Dank.

Ich hatte versuche zu escapen und/oder Zeichen dazuzufügen, aber weniger ist ja manchmal mehr.

Danke  und Grüße

Cheers

mi.ke

PS.
Warum das jetzt so ist, ist mir zwar schleierhaft, aber ich versuch es mir einfach mal so zu merken.