Ich komme mit den Formatierungsangaben bei sprintf nicht zurecht,
{sprintf("%.3f kWh - %.2f €",
ReadingsVal("Z_Zaehlerstand", "Verbrauch",0),
ReadingsVal("Z_Zaehlerstand","Kosten",0))}
schreibt zB: 92.545 kWh - 21.34 €
1234.564 kWh - 125.35 €
1.154 kWh - 1.12 €
Da ich mehrere Werte habe möchte ich die Werte rechtsbündig untereinander haben.
zB: 92.452 kWh - 21,34 €
3.125 kWh - 1,12 €
345.678 kWh - 123.45 €
wie sollten die Formatierungsangaben lauten?
Gruß
Kaspi
Bei Google sprintf und formatierung eingeben und lesen...
Z.B.: http://userpage.fu-berlin.de/~ram/pub/pub_jf47ht81Ht/c_zahlenformatierung_de
Gruß, Joachim
Hmmm...
ist printf und nicht sprintf
{sprintf("%9.3f kWh - %9.2f €",
ReadingsVal("Z_Zaehlerstand", "Verbrauch",0),
ReadingsVal("Z_Zaehlerstand","Kosten",0))}
funktioniert nicht.
{sprintf("%09.3f kWh - %09.2f €",
ReadingsVal("Z_Zaehlerstand", "Verbrauch",0),
ReadingsVal("Z_Zaehlerstand","Kosten",0))}
mit führenden "nullen" schon.
Aber ohne führende "nullen" ?
Gruß
Kaspi
sprintf formatiert die Zahl eigentlich korrekt (also mit führenden Leerzeichen), das Problem ist die Darstellung in HTML, wo mehrere Leerzeichen hintereinander nur als ein Zeichen dargestellt werden... du musst irgendwie sowas machen (nicht getestet, nur als Anregung)
$s =~ s/\s/ /g;