NEWS
Zahl als Text mit Nachkommastellen ausgeben
-
Hallo,
wie kann ich eine Zahl so als Text ausgeben, sodass auch die Nullen mit ausgegeben werden.
Also z.B. 12 soll als 12.00 oder 13.1 als 13.10 ausgegeben werden. -
Ich reibe mal die Glaskugel....
Womit berechnest Du es?
Javascript, Blockly, Rechenschieber.......?Wie sehen Deine Gehversuche aus?
-
mit javascript würde man diese funktion verwenden
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat/NumberFormat -
@manfredhi sagte in Zahl als Text mit Nachkommastellen ausgeben:
Also z.B. 12 soll als 12.00 oder 13.1 als 13.10 ausgegeben werden.
Mit Punkt als Komma? US-Schreibweise? Dann z.B. eine Funktion mit
return parseFloat(val).toFixed(2);
<xml xmlns="https://developers.google.com/blockly/xml"> <variables> <variable id="KP[4n0khi-n@uHIkO?S7">val</variable> </variables> <block type="procedures_defcustomreturn" id="`SI5{oFEq$]b#KnMY_Mf" x="113" y="113"> <mutation statements="false"> <arg name="val" varid="KP[4n0khi-n@uHIkO?S7"></arg> </mutation> <field name="NAME">runden</field> <field name="SCRIPT">cmV0dXJuIHBhcnNlRmxvYXQodmFsKS50b0ZpeGVkKDIpOw==</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> </block> <block type="debug" id="%g{3ckctuAVE=p?J?LSW" x="113" y="288"> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text" id="=.I%NeGbWvnZIp:X})sd"> <field name="TEXT">test</field> </shadow> <block type="procedures_callcustomreturn" id="-qkEw);`gK_4^vadAE8x"> <mutation name="runden"> <arg name="val"></arg> </mutation> <value name="ARG0"> <block type="math_number" id="pUusT#5.G3J`I=d#;6!="> <field name="NUM">12</field> </block> </value> </block> </value> </block> </xml>
-
Es geht nur darum, dass ich eine Zahl habe (von wo sie kommt bzw. wie sie berechnet wurde spielt in diesem Fall keine Rolle), und diese für den Export in ein Textfile diese Zahl mit einem Punkt und den beiden Nachkommastellen benötige.
Ob sie als String umgewandelt wird oder nicht ist auch egal, da sie ja in ein Textfile kommt. Nur der Punkt und die beiden Nachkommastellen sind wichtig, in diesem Fall die US-Schreibweise. -
@manfredhi sagte in Zahl als Text mit Nachkommastellen ausgeben:
Nur der Punkt und die beiden Nachkommastellen sind wichtig, in diesem Fall die US-Schreibweise.
Dann nimm
toFixed
wie in dem Beispiel oben. -
@haus-automatisierung sagte in Zahl als Text mit Nachkommastellen ausgeben:
Mit Punkt als Komma? US-Schreibweise? Dann z.B. eine Funktion mit
return parseFloat(val).toFixed(2);Super. Vielen Dank. So funktioniert es.
-
@haus-automatisierung sagte in Zahl als Text mit Nachkommastellen ausgeben:
Dann nimm toFixed wie in dem Beispiel oben.
Eine Frage noch: Wie wäre das dann bei der deutschen Schreibweise, als mit einem Komma statt einem Punkt ?
-
@manfredhi Siehe Kommentar von @OliverIO
-
@manfredhi sagte: mit einem Komma statt einem Punkt ?
@oliverio sagte in Zahl als Text mit Nachkommastellen ausgeben:
diese funktion verwenden
... oder
val.toFixed(2).replace('.', ',')
-
@oliverio sagte in Zahl als Text mit Nachkommastellen ausgeben:
mit javascript würde man diese funktion verwenden
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat/NumberFormatwenn ich diese funktion mit der Währung mache, dann passt es.
return Intl.NumberFormat('de-DE', {style: 'currency', currency: 'EUR'}).format(Komma,);
Aber wie geht diese funktion dann ohne einem Währungszeichen?
-
@manfredhi Steht doch in der verlinkten Doku
return Intl.NumberFormat('de-DE', { minimumFractionDigits: 2 }).format(val);
Du kannst sehr viele Optionen definieren - auch wie gerundet werden soll usw.: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat/NumberFormat#roundingmode
-
Ich habe mir nun eine Funktion gemacht, wo ich auch die Anzahl der mindest- und maximal-Dezimalstellen angeben kann. Das funktioniert jetzt einwandfrei.
Frage: kann man das auch als Globale Funktion hinterlegen um dies in jedem Blockly-Script dann zur Verfügung zu haben oder muss ich die Funktion in jedem Script, wo ich das brauche, erstellen.
-
@manfredhi In Typescript geht das, ja. In Blockly nicht. Zumindest nicht schön.
Globales Script = Code wird vor jedes andere Script kopiert.