Moin,
wie kann man mit einer Formatierung einer ganzen Zahl eine Nachkommastelle verpassen?
Also nicht mehr Wert 0, sondern 0.0
0der Wert 1 soll dann 1.0 sein.
Mit sprintf hab ich's nicht hinbekommen.
Zitat von: mi.ke am 20 Februar 2022, 18:56:13
Mit sprintf hab ich's nicht hinbekommen.
{sprintf("%.1f",1)}
genauso hatte ich's gemacht, allerdings die "glatten" Zahlen "x,0" waren immer ohne Nachkomma.
humidity {sprintf("%.0f",ReadingsVal($name,"humidity_Sum",0))},
temperature {sprintf("%.1f",ReadingsVal($name,"temperature_Sum",0))}
Jetzt weiss ich, dass ich auf dem richtigen Weg bin.
Danke Dir!
PS.
Es geht natürlich um die "temperature" aus den oberen Beispiel 8)
*grübel*
funktioniert es denn nun oder nicht?
Bei mir funktioniert sowohl
{sprintf("%.1f",1)}
als auch
{sprintf("%.1f",1.0)}
absolut korrekt, in beiden Fällen kommt 1.0 als Ergebnis zurück.
Was nicht funktionieren kann, wäre
{sprintf("%.1f",1,0)}
weil perl einen Punkt als Dezimaltrenner verwendet und kein Komma.
Zitat von: mi.ke am 20 Februar 2022, 22:58:37
allerdings die "glatten" Zahlen "x,0" waren immer ohne Nachkomma.
Vermutlich kannst Du das Problem einfach umgehen, indem Du statt mit ReadingsVal() mit ReadingsNum() arbeitest.
wie gesagt, es funktioniert
im Input eingegeben:
{sprintf("%.1f",1)}
ist das Resultat 1.0
Mein Fehler war, dass ich nicht über die Eingabe gegengecheckt, sondern gleich am Syntax gezweifelt habe.
Danke nochmal