NEWS
Werte mit Tausenderpunkt schreiben
-
Liebe Gemeinde,
alles Gute zum neuen Jahr.
Ich schreibe per Blockly Werte meiner Photovoltaikanlage in Javascript "Systemvariablen".
Die von der Photovoltaik Anlage gelieferten Daten werden in dem Blockly gelesen, Wh in kWh umgerechnet oder aktuelle Verbräuche in Watt geschrieben.
Leider schaffe ich es nicht, den Werten einen Tausenderpunkt - zur besseren Lesbarkeit -mitzugeben.
Hat bitte jemand einen TIPP, wie ich das erreichen kann? Was müsste ich im Blockly ergänzen (bin nicht sehr gut im Umgang mit Blockly) ;-(Hier mein Blockly und als Beispiel ein Wert wie er geschrieben wird.
-
@lemonbiter sagte:
den Werten einen Tausenderpunkt - zur besseren Lesbarkeit -mitzugeben.
Das geht mit Zahlen nicht, sondern nur mit Strings.
-
Lieber Paul, danke... Aber um ehrlich zu sein, ich verstehe nicht genau was Du meinst... SORRY
-
@lemonbiter
Man muss den Zahlenwert (z.B. 12345.678) in einen String ("12.345,678") wandeln. Damit kann man aber nicht mehr rechnen. -
@paul53 sagte in Werte mit Tausenderpunkt schreiben:
Das geht mit Zahlen nicht,
gibt es keine Möglichkeit das über ein Zahlenformat zu machen?
-
@Homoran sagte:
gibt es keine Möglichkeit das über ein Zahlenformat zu machen?
Vielleicht? Ist mir aber nicht bekannt.
-
@Homoran sagte in Werte mit Tausenderpunkt schreiben:
@paul53 sagte in Werte mit Tausenderpunkt schreiben:
Das geht mit Zahlen nicht,
gibt es keine Möglichkeit das über ein Zahlenformat zu machen?
ich habe mich daran versucht, aber alles was JS zu bieten hat wandelt die Zahl in einen String. Das wäre nicht weiter schlimm, aber spätestens wenn man eine Tabelle in der VIS nachträglich sortieren will, klappt das nicht mehr
Ich habe dann eine Zeitlang das Originalformat zusätzlich in der Tabelle vorgehalten, aber das macht nicht wirklich Sinn. Es müsste so sein wie in Excel
Ich habe es mit INTL() versucht, man definiert ein Zahlenformat, z.B.
const numberDE = Intl.NumberFormat('de', {maximumFractionDigits:1,minimumFractionDigits:1});
und anschliessend formatiert man die Zahl damit:log(numberDE.format(zahl))
und erhält einen String mit Tausendertrennzeichen und einer Nachkommastelle, je nach Land, welches man angegeben hat. Ein weiterer Nachteil neben der Sortierung ist der, dass INTL() erst ab Node 13.xx funktioniert, du kannst es bereits jetzt verwenden, aber das Format wird das englische sein.
hier gibt es mehr Infos dazu -
@Homoran warum denn in der Systemvariablen wandeln, den Punkt willst Du doch vermutlich in der VIS sehen, oder? Das könnte vielleicht mit einem Binding gehen, da bin ich aber nicht so tief drin...