tag:forum.selfhtml.org,2005:/selfzahl formatiert ausgeben 100.000,12 – SELFHTML-Forum2020-06-30T13:37:04Zhttps://forum.selfhtml.org/self/2020/jun/29/zahl-formatiert-ausgeben-100-000-12/1772712?srt=yes#m1772712Cem2020-06-29T10:24:09Z2020-06-29T10:24:09Zzahl formatiert ausgeben 100.000,12<p>Hallo,
ich habe hier im Forum schon einiges gefunden, unter anderem auch die Informationen zu meiner Rechnung hier.</p>
<p>Jetzt versuche ich das Ergebnis formatiert wieder auszugeben.</p>
<pre><code class="block">function calculate() {
let summe_1 = getInputAsFloat(document.form1.input1) *
getInputAsFloat(document.form1.input2);
document.getElementById("output_1").textContent = summe_1.toString().replace(/\./ , ",");
}
</code></pre>
<p>Jetzt kommt die Zahl je nach Art entweder als 100000 oder als 100000,54 als Ausgabe, je nachdem ob ich eine Komma Zahl eingegeben habe oder nicht.</p>
<p>Ich möchte aber die Ausgabe so formatiert haben
100.000,54, wie bei PHP da gibt es ja das number_format</p>
https://forum.selfhtml.org/self/2020/jun/29/zahl-formatiert-ausgeben-100-000-12/1772713?srt=yes#m1772713Der Martin2020-06-29T10:28:23Z2020-06-29T10:28:23Zzahl formatiert ausgeben 100.000,12<p>Mahlzeit,</p>
<blockquote>
<p>ich habe hier im Forum schon einiges gefunden, unter anderem auch die Informationen zu meiner Rechnung hier.</p>
</blockquote>
<p>dann hast du bestimmt auch schon <a href="https://forum.selfhtml.org/self/2020/jun/28/zahlenformat-in-java-rechnung/1772659#m1772659" rel="noopener noreferrer">diesen Thread</a> gefunden, der genau dein Problem beackert.</p>
<blockquote>
<p>Ich möchte aber die Ausgabe so formatiert haben<br>
100.000,54, wie bei PHP da gibt es ja das number_format</p>
</blockquote>
<p>Bedenke, dass deine Besucher vielleicht ganz andere Zahlendarstellungen gewöhnt sind.</p>
<p>Live long and <s>pros</s> healthy,<br>
Martin</p>
<div class="signature">-- <br>
Home is where my beer is.
</div>
https://forum.selfhtml.org/self/2020/jun/29/zahl-formatiert-ausgeben-100-000-12/1772714?srt=yes#m1772714Cem2020-06-29T10:42:25Z2020-06-29T10:42:25Zzahl formatiert ausgeben 100.000,12<p>Nein, aber die Antwort währe theoretisch</p>
<pre><code class="block">
var number = 3500;
console.log(number.toLocaleString()); // Displays "3,500" if in U.S. English locale
</code></pre>
<p>aber wie bekomme ich die beiden Formeln vereint</p>
<pre><code class="block">
document.getElementById("output_1").textContent = summe_1.toString().replace(/\./ , ",");
</code></pre>
<p>Ich denke das bleibt:</p>
<pre><code class="block">document.getElementById("output_1").textContent =
</code></pre>
<p>und ich muss irgendwie</p>
<pre><code class="block">
console.log(number.toLocaleString()); // Displays "3,500" if in U.S. English locale
</code></pre>
<p>übergeben</p>
https://forum.selfhtml.org/self/2020/jun/29/zahl-formatiert-ausgeben-100-000-12/1772717?srt=yes#m1772717Rolf B2020-06-29T11:54:32Z2020-06-29T11:54:32Zzahl formatiert ausgeben 100.000,12<p>Hallo Cem,</p>
<p>eine feste Anzahl von Nachkommastellen bekommst Du über den options-Parameter von toLocaleString.</p>
<p>Also so:</p>
<pre><code class="block language-js">elem<span class="token punctuation">.</span>textContent <span class="token operator">=</span> zahl<span class="token punctuation">.</span><span class="token function">toLocaleString</span><span class="token punctuation">(</span>
<span class="token keyword">undefined</span><span class="token punctuation">,</span>
<span class="token punctuation">{</span> <span class="token literal-property property">minimumFractionDigits</span><span class="token operator">:</span> <span class="token number">2</span><span class="token punctuation">,</span>
<span class="token literal-property property">maximumFractionDigits</span><span class="token operator">:</span> <span class="token number">2</span><span class="token punctuation">,</span>
<span class="token literal-property property">useGrouping</span><span class="token operator">:</span> <span class="token boolean">true</span><span class="token punctuation">}</span> <span class="token punctuation">)</span><span class="token punctuation">;</span>
</code></pre>
<p>Das gibt dann genau 2 Nachkommastellen, und Tausendergruppierung gemäß Locale.</p>
<p><code>undefined</code> als 1. Parameter bedeutet: Verwende das Locale des Anwenders.</p>
<p>Alternativ kannst Du Dir ein Formatierungsobjekt erzeugen, wenn Du viel zu formatieren hast:</p>
<pre><code class="block language-js"><span class="token keyword">const</span> formatter <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">Intl<span class="token punctuation">.</span>NumberFormat</span><span class="token punctuation">(</span>
<span class="token keyword">undefined</span><span class="token punctuation">,</span>
<span class="token punctuation">{</span> <span class="token literal-property property">minimumFractionDigits</span><span class="token operator">:</span> <span class="token number">2</span><span class="token punctuation">,</span>
<span class="token literal-property property">maximumFractionDigits</span><span class="token operator">:</span> <span class="token number">2</span><span class="token punctuation">,</span>
<span class="token literal-property property">useGrouping</span><span class="token operator">:</span> <span class="token boolean">true</span><span class="token punctuation">}</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
elem<span class="token punctuation">.</span>textContent <span class="token operator">=</span> formatter<span class="token punctuation">.</span><span class="token function">format</span><span class="token punctuation">(</span>zahl<span class="token punctuation">)</span><span class="token punctuation">;</span>
</code></pre>
<p><em>Rolf</em></p>
<div class="signature">-- <br>
sumpsi - posui - obstruxi
</div>
https://forum.selfhtml.org/self/2020/jun/29/zahl-formatiert-ausgeben-100-000-12/1772730?srt=yes#m1772730Cem2020-06-29T14:34:01Z2020-06-29T14:34:01Zzahl formatiert ausgeben 100.000,12<p>Super, genial, wie bekomme ich den noch das € Zeichen dazu?</p>
<pre><code class="block">elem.textContent = zahl.toLocaleString(
undefined,
{ minimumFractionDigits: 2,
maximumFractionDigits: 2,
useGrouping: true} );
</code></pre>
https://forum.selfhtml.org/self/2020/jun/29/zahl-formatiert-ausgeben-100-000-12/1772731?srt=yes#m1772731Rolf B2020-06-29T14:57:38Z2020-06-29T14:57:38Zzahl formatiert ausgeben 100.000,12<p>Hallo Cem,</p>
<p>achso, Ausgabe als Währung. Sorry.</p>
<p>Da nimmst Du als Option-Objekt { style: "currency", currency: "EUR" }. Grouping und FractionDigits brauchst Du in dem Fall nicht, das setzt er dann automatisch auf 2 Nachkommastellen.</p>
<p><a href="https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Global_Objects/Number/toLocaleString" rel="nofollow noopener noreferrer">Guckst Du hier</a></p>
<p>Die Wikipedia sagt: Laut DIN 5008 sollten hier die Tausendergruppen mit Punkten und NICHT mit Leerstellen gegliedert werden. Vermutlich, damit nicht irgendwer unbemerkt eine Ziffer dazwischendruckt. JavaScript macht also alles richtig :)</p>
<p><em>Rolf</em></p>
<div class="signature">-- <br>
sumpsi - posui - obstruxi
</div>
https://forum.selfhtml.org/self/2020/jun/29/zahl-formatiert-ausgeben-100-000-12/1772764?srt=yes#m1772764Cem2020-06-30T13:37:04Z2020-06-30T13:37:04ZDanke<p>Da sag ich einfach mal Danke</p>