Feereport-Kosmetik

Liebe Freunde,

weil meine schwachen Augen vielstellige Zahlen schlecht auflösen können, habe ich angefangen, zu experimentieren, und folgendes herausgefunden. Mit der nachfolgenden Modifikation in dero 00infoBlitz.sh-Datei kann man sich den Feereport lesbar machen.

238c238
<       ln_totalfees="${value}"
---
>       ln_totalfees=$(printf "%'d" "${value}")

Villeicht weiß noch Jemand, wie ich die Zahl durch Tausend teile und eine ordentliche Dezimalzahl herausbekomme? Es ist jedenfalls NICHT so simpel, wie ich anfangs meinte.

Wenn in der Shell-Variable value der Wert in msat steht, dann liefert der folgende (Bash-)Shell-Ausdruck den Wert korrekt ab- oder aufgerundet in Sats:

$(( (${value} + 500) / 1000 ))

Such-Stichwort: Shell-Arithmetik

Man könnte auch mit expr evaluieren (man expr). Viele Wege führen nach Rom…

P.S.
Eigentlich ist sogar folgendes korrekter:

$(( (value + 500) / 1000 ))

Beide Varianten liefern primär das Ergebnis der Division durch 1000 als einen Ganzzahl-Wert mit, ich glaube, kaufmännischer Rundung. Was genau möchtest du als ordentliche Dezimalzahl da sehen? Den Nachkomma-Anteil bekäme man mit $(( value % 1000 )) und könnte sich eine Festkommazahl zusammenfrickeln. Aber das ist wahrscheinlich nicht, was du meintest, weil dann deine Augen wieder mit zuviel Zahlen „überfordert“ sind.

2 „Gefällt mir“

Lieber @Cricktor,

danke für Deine Reaktion! Ich habe jetzt eine gutausschauende sat-Zahl (mit „Holzfäller-Rundung“ ${value} / 1000). Für eine „ordentliche“ Dezimalzahl fehlten mir noch das Dezimalzeichen und drei Nachkommastellen auf msat-Ebene, etwa: 1,020.931 sat. Gibt es dafür eine vertretbar (un-) komplexe Lösung bzw. wie kann ich das „zusammenfrickeln"?

Wenn in der Variablen value ein Wert in msat steckt, dann:

ln_totalfees=$(printf "%'d.%03d" "$((value/1000))" "$((value%1000))")
2 „Gefällt mir“

Coooool! Als ich noch „besser“ jung war, hat es mir Spaß gemacht, syntaktische Finessen herauszufinden und einzubinden. Seit ich am Stock gehe, starte ich zwei mehr oder minder unqualifizierte ad hoc-Versuche, gebe bei Fehlschlag auf und schaue mich um, wen ich fragen kann. Sorry.

Sollten wir das nicht bei Fulmo als Patch vorschlagen? Unsere Verbindung von Relevanz und Präzision erscheint mir (wenn es auch nur Kosmetik betrifft) um Längen besser als das bisherige unformatierte Zifferngewusel.

238,239c238,239
<       ln_totalfees="${value}"
<       ln_feeReport="Fee Report: ${color_green}${ln_totalfees} ${color_gray}${netprefix}msat"
---
>       ln_totalfees=$(printf "%'d.%03d" "$((value/1000))" "$((value%1000))")
>       ln_feeReport="Fee Report: ${color_green}${ln_totalfees} ${color_gray}${netprefix}sat"

Du kannst jederzeit einen Pull Request auf GitHub einreichen. Das wäre sicherlich der einfachste Weg.

1 „Gefällt mir“

Bitte, @BlueBallroom.

Ich kenne (und habe) git, habe mir jetzt einen Account auf github angelegt (dort heiße ich „@slkjhqoiwuze“) aber mit forks und branches zu hantieren und ganz einfach einen pull request zu erstellen, kann nur ein Informatiker „einfach“ finden, der wo tief in der Materie drin steckt. Für einfache Menschen wie für mich ist es ganz schön verwirrend.

Kein Problem :slight_smile:

Hier liegt die Datei:

Oben rechts kannst du über „Fork“ eine Kopie des Raspiblitz Projekt-Ordners (sog. Repository/Repo) machen.

Anschließend kannst du die Datei bearbeiten, indem du auf der Datei-Seite auf das Stift-Symbol gehst.
grafik

Wenn du damit fertig bist, speicherst du die Änderungen, indem du unten auf der Seite auf „Commit changes“ gehst.

Anschließend gehst du oben auf den Reiter „Pull Request“ und erstellst einen neuen für die Datei, die du geändert hast. Für Details schau dir die Guideline auf der Seite an.

Ist sicherlich nicht ganz trivial aber ist auch kein Hexenwerk. Bin selbst auch kein Informatiker :smiley:

2 „Gefällt mir“