Zahlenformat in Java Rechnung – SELFHTML-Forum Forum als Ergänzung zum SELFHTML-Wiki und zur Dokumentation SELFHTML https://forum.selfhtml.org/self?srt=yes Zahlenformat in Java Rechnung Sat, 27 Jun 20 22:40:11 Z https://forum.selfhtml.org/self/2020/jun/28/zahlenformat-in-java-rechnung/1772659?srt=yes#m1772659 https://forum.selfhtml.org/self/2020/jun/28/zahlenformat-in-java-rechnung/1772659?srt=yes#m1772659 <p>Hallo Zusammen,</p> <p>ich bräuchte mal eure Hilfe. Unten habe ich meine funktionierende js Datei eingefügt.</p> <p>Das Ergebnis ist eine Zahl, die in "betrag1" an ein html übergeben und ausgegeben wird. Diese Zahl hat meist 7-10 STellen. d.h. Zahlen als 123456789 ist nicht wirklich gut zu lesen. Daher möchte ich das Ergebnis als: 123.456.789 ausgeben. Nur wie bekomme ich das hin? Ich scheitere.</p> <p>Kann mir irgendjemand helfen?</p> <pre><code class="block language-javascript">document<span class="token punctuation">.</span><span class="token function">addEventListener</span><span class="token punctuation">(</span><span class="token string">'DOMContentLoaded'</span><span class="token punctuation">,</span> <span class="token keyword">function</span> <span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token punctuation">{</span> <span class="token keyword">function</span> <span class="token function">rechne</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token punctuation">{</span> <span class="token keyword">var</span> bnahrung <span class="token operator">=</span> document<span class="token punctuation">.</span><span class="token function">getElementById</span><span class="token punctuation">(</span><span class="token string">'bnahrung'</span><span class="token punctuation">)</span><span class="token punctuation">,</span> bholz <span class="token operator">=</span> document<span class="token punctuation">.</span><span class="token function">getElementById</span><span class="token punctuation">(</span><span class="token string">'bholz'</span><span class="token punctuation">)</span><span class="token punctuation">,</span> bsilber <span class="token operator">=</span> document<span class="token punctuation">.</span><span class="token function">getElementById</span><span class="token punctuation">(</span><span class="token string">'bsilber'</span><span class="token punctuation">)</span><span class="token punctuation">;</span> bspnahrung <span class="token operator">=</span> document<span class="token punctuation">.</span><span class="token function">getElementById</span><span class="token punctuation">(</span><span class="token string">'bspnahrung'</span><span class="token punctuation">)</span><span class="token punctuation">;</span> bspholz <span class="token operator">=</span> document<span class="token punctuation">.</span><span class="token function">getElementById</span><span class="token punctuation">(</span><span class="token string">'bspholz'</span><span class="token punctuation">)</span><span class="token punctuation">;</span> bsilber <span class="token operator">=</span> document<span class="token punctuation">.</span><span class="token function">getElementById</span><span class="token punctuation">(</span><span class="token string">'bsilber'</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token keyword">var</span> summe <span class="token operator">=</span> bnahrung<span class="token punctuation">.</span>valueAsNumber <span class="token operator">/</span> <span class="token number">1000</span> <span class="token operator">+</span> bholz<span class="token punctuation">.</span>valueAsNumber <span class="token operator">*</span> <span class="token number">3</span> <span class="token operator">/</span> <span class="token number">160</span> <span class="token operator">+</span> bsilber<span class="token punctuation">.</span>valueAsNumber <span class="token operator">*</span> <span class="token number">5</span> <span class="token operator">/</span> <span class="token number">40</span> <span class="token operator">+</span> bspnahrung<span class="token punctuation">.</span>valueAsNumber <span class="token operator">*</span> <span class="token number">1500</span> <span class="token operator">+</span> bspholz<span class="token punctuation">.</span>valueAsNumber <span class="token operator">*</span> <span class="token number">4500</span> <span class="token operator">+</span> bspsilber<span class="token punctuation">.</span>valueAsNumber <span class="token operator">*</span> <span class="token number">7500</span><span class="token punctuation">;</span> summe <span class="token operator">=</span> summe<span class="token punctuation">.</span><span class="token function">toFixed</span><span class="token punctuation">(</span><span class="token number">0</span><span class="token punctuation">)</span><span class="token punctuation">;</span> document<span class="token punctuation">.</span><span class="token function">getElementById</span><span class="token punctuation">(</span><span class="token string">'betrag1'</span><span class="token punctuation">)</span><span class="token punctuation">.</span>value <span class="token operator">=</span> summe<span class="token punctuation">;</span> <span class="token punctuation">}</span> document<span class="token punctuation">.</span><span class="token function">getElementById</span><span class="token punctuation">(</span><span class="token string">"myForm1"</span><span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">addEventListener</span><span class="token punctuation">(</span><span class="token string">"input"</span><span class="token punctuation">,</span> rechne<span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token punctuation">}</span><span class="token punctuation">)</span><span class="token punctuation">;</span> </code></pre> Zahlenformat in Java Rechnung Sat, 27 Jun 20 23:17:49 Z https://forum.selfhtml.org/self/2020/jun/28/zahlenformat-in-java-rechnung/1772660?srt=yes#m1772660 https://forum.selfhtml.org/self/2020/jun/28/zahlenformat-in-java-rechnung/1772660?srt=yes#m1772660 <blockquote> <p>Hallo Zusammen,</p> <p>ich bräuchte mal eure Hilfe. Unten habe ich meine funktionierende js Datei eingefügt.</p> <p>Das Ergebnis ist eine Zahl, die in "betrag1" an ein html übergeben und ausgegeben wird. Diese Zahl hat meist 7-10 STellen. d.h. Zahlen als 123456789 ist nicht wirklich gut zu lesen. Daher möchte ich das Ergebnis als: 123.456.789 ausgeben. Nur wie bekomme ich das hin? Ich scheitere.</p> <p>Kann mir irgendjemand helfen?</p> </blockquote> <p>Schau dir mal <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/toLocaleString" rel="nofollow noopener noreferrer">.toLocalString()</a> an :)</p> <p>Gruß<br> Jo</p> Zahlenformat in Java Rechnung Sun, 28 Jun 20 06:27:37 Z https://forum.selfhtml.org/self/2020/jun/28/zahlenformat-in-java-rechnung/1772661?srt=yes#m1772661 https://forum.selfhtml.org/self/2020/jun/28/zahlenformat-in-java-rechnung/1772661?srt=yes#m1772661 <p>Hallo betking99,</p> <p>Java und JavaScript ist nicht dasselbe.</p> <p>Bis demnächst<br> Matthias</p> <div class="signature">-- <br> Du kannst das Projekt SELFHTML unterstützen,<br> indem du bei Amazon-Einkäufen <a href="https://smile.amazon.de/ch/314-570-45498" rel="nofollow noopener noreferrer">Amazon smile</a> (<a href="https://www.amazon.de/gp/help/customer/display.html?ie=UTF8&nodeId=202035970%5D" rel="nofollow noopener noreferrer">Was ist das?</a>) nutzt. </div> Zahlenformat in Java Rechnung Sun, 28 Jun 20 07:51:49 Z https://forum.selfhtml.org/self/2020/jun/28/zahlenformat-in-java-rechnung/1772663?srt=yes#m1772663 https://forum.selfhtml.org/self/2020/jun/28/zahlenformat-in-java-rechnung/1772663?srt=yes#m1772663 <p>Guten Morgen,</p> <blockquote> <p>ich bräuchte mal eure Hilfe.</p> <p>Kann mir irgendjemand helfen?</p> <pre><code class="block language-javascript">document<span class="token punctuation">.</span><span class="token function">addEventListener</span><span class="token punctuation">(</span><span class="token string">'DOMContentLoaded'</span><span class="token punctuation">,</span> <span class="token keyword">function</span> <span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token punctuation">{</span> <span class="token keyword">function</span> <span class="token function">rechne</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token punctuation">{</span> <span class="token keyword">var</span> bnahrung <span class="token operator">=</span> document<span class="token punctuation">.</span><span class="token function">getElementById</span><span class="token punctuation">(</span><span class="token string">'bnahrung'</span><span class="token punctuation">)</span><span class="token punctuation">,</span> bholz <span class="token operator">=</span> document<span class="token punctuation">.</span><span class="token function">getElementById</span><span class="token punctuation">(</span><span class="token string">'bholz'</span><span class="token punctuation">)</span><span class="token punctuation">,</span> bsilber <span class="token operator">=</span> document<span class="token punctuation">.</span><span class="token function">getElementById</span><span class="token punctuation">(</span><span class="token string">'bsilber'</span><span class="token punctuation">)</span><span class="token punctuation">;</span> bspnahrung <span class="token operator">=</span> document<span class="token punctuation">.</span><span class="token function">getElementById</span><span class="token punctuation">(</span><span class="token string">'bspnahrung'</span><span class="token punctuation">)</span><span class="token punctuation">;</span> bspholz <span class="token operator">=</span> document<span class="token punctuation">.</span><span class="token function">getElementById</span><span class="token punctuation">(</span><span class="token string">'bspholz'</span><span class="token punctuation">)</span><span class="token punctuation">;</span> bsilber <span class="token operator">=</span> document<span class="token punctuation">.</span><span class="token function">getElementById</span><span class="token punctuation">(</span><span class="token string">'bsilber'</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token keyword">var</span> summe <span class="token operator">=</span> bnahrung<span class="token punctuation">.</span>valueAsNumber <span class="token operator">/</span> <span class="token number">1000</span> <span class="token operator">+</span> bholz<span class="token punctuation">.</span>valueAsNumber <span class="token operator">*</span> <span class="token number">3</span> <span class="token operator">/</span> <span class="token number">160</span> <span class="token operator">+</span> bsilber<span class="token punctuation">.</span>valueAsNumber <span class="token operator">*</span> <span class="token number">5</span> <span class="token operator">/</span> <span class="token number">40</span> <span class="token operator">+</span> bspnahrung<span class="token punctuation">.</span>valueAsNumber <span class="token operator">*</span> <span class="token number">1500</span> <span class="token operator">+</span> bspholz<span class="token punctuation">.</span>valueAsNumber <span class="token operator">*</span> <span class="token number">4500</span> <span class="token operator">+</span> bspsilber<span class="token punctuation">.</span>valueAsNumber <span class="token operator">*</span> <span class="token number">7500</span><span class="token punctuation">;</span> summe <span class="token operator">=</span> summe<span class="token punctuation">.</span><span class="token function">toFixed</span><span class="token punctuation">(</span><span class="token number">0</span><span class="token punctuation">)</span><span class="token punctuation">;</span> document<span class="token punctuation">.</span><span class="token function">getElementById</span><span class="token punctuation">(</span><span class="token string">'betrag1'</span><span class="token punctuation">)</span><span class="token punctuation">.</span>value <span class="token operator">=</span> summe<span class="token punctuation">;</span> <span class="token punctuation">}</span> document<span class="token punctuation">.</span><span class="token function">getElementById</span><span class="token punctuation">(</span><span class="token string">"myForm1"</span><span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">addEventListener</span><span class="token punctuation">(</span><span class="token string">"input"</span><span class="token punctuation">,</span> rechne<span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token punctuation">}</span><span class="token punctuation">)</span><span class="token punctuation">;</span> </code></pre> </blockquote> <p>Noch eine kleine Anmerkung, da ich mir den Code nicht genau angeschaut hatte.</p> <ol> <li>Die Wiederholung von <code>document.getElementById()</code> ist imho nicht sonderlich schön und kann sicher besser gelöst werden. Sind das <code>input</code> die alle in <code>#myForm1</code> stehen?</li> <li>Eine solch lange Summe ist schnell unübersichtlich besser finde ich die einzelnen Summanden in eine eigene Zeile zu schreiben und dann zum Ergebnis zu addieren mit <code>summe +=</code></li> <li>Was passiert wenn eines der <code>input</code> leer ist und <code>.valueAsNumber()</code> <code>NaN</code> zurück gibt?</li> </ol> <p>Gruß<br> Jo</p> Zahlenformat in Java Rechnung Sun, 28 Jun 20 09:09:22 Z https://forum.selfhtml.org/self/2020/jun/28/zahlenformat-in-java-rechnung/1772664?srt=yes#m1772664 https://forum.selfhtml.org/self/2020/jun/28/zahlenformat-in-java-rechnung/1772664?srt=yes#m1772664 <p>Hallo,</p> <blockquote> <pre><code class="block language-javascript"> document<span class="token punctuation">.</span><span class="token function">getElementById</span><span class="token punctuation">(</span><span class="token string">"myForm1"</span><span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">addEventListener</span><span class="token punctuation">(</span><span class="token string">"input"</span><span class="token punctuation">,</span> rechne<span class="token punctuation">)</span><span class="token punctuation">;</span> </code></pre> </blockquote> <p>input feuert bei jedem Input, also bei Eingabe jeder Ziffer. Wenn eine mehrstellige Zahl eigegeben wird, wird bei jeder Ziffer gerechnet. Ich verzögere daher die Reaktion auf das Input-Event:</p> <pre><code class="block language-javascript"><span class="token keyword">var</span> to<span class="token punctuation">;</span> document<span class="token punctuation">.</span><span class="token function">getElementById</span><span class="token punctuation">(</span><span class="token string">"myForm1"</span><span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">addEventListener</span><span class="token punctuation">(</span><span class="token string">"input"</span><span class="token punctuation">,</span><span class="token keyword">function</span><span class="token punctuation">(</span><span class="token parameter">event</span><span class="token punctuation">)</span> <span class="token punctuation">{</span> window<span class="token punctuation">.</span><span class="token function">clearTimeout</span><span class="token punctuation">(</span>to<span class="token punctuation">)</span><span class="token punctuation">;</span> to <span class="token operator">=</span> window<span class="token punctuation">.</span><span class="token function">setTimeout</span><span class="token punctuation">(</span>rechne<span class="token punctuation">,</span><span class="token number">500</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token punctuation">}</span><span class="token punctuation">,</span><span class="token boolean">false</span><span class="token punctuation">)</span><span class="token punctuation">;</span> </code></pre> <p>Gruß<br> Jürgen</p> Zahlenformat in Java Rechnung Sun, 28 Jun 20 11:24:16 Z https://forum.selfhtml.org/self/2020/jun/28/zahlenformat-in-java-rechnung/1772667?srt=yes#m1772667 https://forum.selfhtml.org/self/2020/jun/28/zahlenformat-in-java-rechnung/1772667?srt=yes#m1772667 <p>Lieber betking99,</p> <p>suchst Du so etwas? (<a href="https://felix-riesterer.de/self/zahlenformat.html" rel="nofollow noopener noreferrer">Demo</a>)</p> <pre><code class="block language-javascript"><span class="token comment">/** * 123456789.0123 => 123.456.789,0123 * * @param int * @return string */</span> <span class="token keyword">function</span> <span class="token function">dottedNumber</span> <span class="token punctuation">(</span><span class="token parameter">i</span><span class="token punctuation">)</span> <span class="token punctuation">{</span> <span class="token keyword">var</span> r <span class="token operator">=</span> <span class="token string">""</span><span class="token punctuation">;</span> <span class="token comment">// wird Ergebnis</span> <span class="token comment">// s[0] Vorkomma-, s[1] Nachkommastellen</span> <span class="token keyword">const</span> s <span class="token operator">=</span> i<span class="token punctuation">.</span><span class="token function">toString</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">split</span><span class="token punctuation">(</span><span class="token string">'.'</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// String rückwärts wenden</span> <span class="token keyword">function</span> <span class="token function">reverse</span> <span class="token punctuation">(</span><span class="token parameter">str</span><span class="token punctuation">)</span> <span class="token punctuation">{</span> <span class="token keyword">return</span> str<span class="token punctuation">.</span><span class="token function">split</span><span class="token punctuation">(</span><span class="token string">""</span><span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">reverse</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">join</span><span class="token punctuation">(</span><span class="token string">""</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token punctuation">}</span> <span class="token comment">// wir arbeiten Vorkommastellen von hinten ab</span> s<span class="token punctuation">[</span><span class="token number">0</span><span class="token punctuation">]</span> <span class="token operator">=</span> <span class="token function">reverse</span><span class="token punctuation">(</span>s<span class="token punctuation">[</span><span class="token number">0</span><span class="token punctuation">]</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token keyword">while</span> <span class="token punctuation">(</span>s<span class="token punctuation">[</span><span class="token number">0</span><span class="token punctuation">]</span><span class="token punctuation">.</span>length<span class="token punctuation">)</span> <span class="token punctuation">{</span> <span class="token comment">// Dreiergruppe möglich?</span> <span class="token keyword">if</span> <span class="token punctuation">(</span>s<span class="token punctuation">[</span><span class="token number">0</span><span class="token punctuation">]</span><span class="token punctuation">.</span>length <span class="token operator">></span> <span class="token number">2</span><span class="token punctuation">)</span> <span class="token punctuation">{</span> <span class="token comment">// an r anhängen und mit . trennen</span> r <span class="token operator">+=</span> s<span class="token punctuation">[</span><span class="token number">0</span><span class="token punctuation">]</span><span class="token punctuation">.</span><span class="token function">substr</span><span class="token punctuation">(</span><span class="token number">0</span><span class="token punctuation">,</span> <span class="token number">3</span><span class="token punctuation">)</span> <span class="token operator">+</span> <span class="token string">"."</span><span class="token punctuation">;</span> s<span class="token punctuation">[</span><span class="token number">0</span><span class="token punctuation">]</span> <span class="token operator">=</span> s<span class="token punctuation">[</span><span class="token number">0</span><span class="token punctuation">]</span><span class="token punctuation">.</span><span class="token function">substr</span><span class="token punctuation">(</span><span class="token number">3</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token punctuation">}</span> <span class="token keyword">else</span> <span class="token punctuation">{</span> <span class="token comment">// Rest anhängen und Ende</span> r <span class="token operator">+=</span> s<span class="token punctuation">[</span><span class="token number">0</span><span class="token punctuation">]</span><span class="token punctuation">;</span> s<span class="token punctuation">[</span><span class="token number">0</span><span class="token punctuation">]</span> <span class="token operator">=</span> <span class="token string">""</span><span class="token punctuation">;</span> <span class="token punctuation">}</span> <span class="token punctuation">}</span> <span class="token comment">// letzten Trenner entfernen und wieder umkehren</span> r <span class="token operator">=</span> <span class="token function">reverse</span><span class="token punctuation">(</span> r<span class="token punctuation">.</span><span class="token function">replace</span><span class="token punctuation">(</span><span class="token regex"><span class="token regex-delimiter">/</span><span class="token regex-source language-regex">\.$</span><span class="token regex-delimiter">/</span></span><span class="token punctuation">,</span> <span class="token string">""</span><span class="token punctuation">)</span> <span class="token comment">// \. für echten Punkt</span> <span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// gab es noch Nachkommastellen?</span> <span class="token keyword">if</span> <span class="token punctuation">(</span>s<span class="token punctuation">[</span><span class="token number">1</span><span class="token punctuation">]</span><span class="token punctuation">.</span>length<span class="token punctuation">)</span> <span class="token punctuation">{</span> r <span class="token operator">+=</span> <span class="token string">","</span> <span class="token operator">+</span> s<span class="token punctuation">[</span><span class="token number">1</span><span class="token punctuation">]</span><span class="token punctuation">;</span> <span class="token punctuation">}</span> <span class="token keyword">return</span> r<span class="token punctuation">;</span> <span class="token punctuation">}</span> </code></pre> <p>In der Demo habe ich die Vorschläge von hier mit eingearbeitet, inklusive einer Prüfung auf Nichtzahlenwerte.</p> <p>Liebe Grüße</p> <p>Felix Riesterer</p> Zahlenformat in Java Rechnung Sun, 28 Jun 20 20:24:21 Z https://forum.selfhtml.org/self/2020/jun/28/zahlenformat-in-java-rechnung/1772690?srt=yes#m1772690 https://forum.selfhtml.org/self/2020/jun/28/zahlenformat-in-java-rechnung/1772690?srt=yes#m1772690 <p>@@betking99</p> <blockquote> <pre><code class="block language-javascript">document<span class="token punctuation">.</span><span class="token function">addEventListener</span><span class="token punctuation">(</span><span class="token string">'DOMContentLoaded'</span><span class="token punctuation">,</span> <span class="token keyword">function</span> <span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token punctuation">{</span> <span class="token keyword">function</span> <span class="token function">rechne</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token punctuation">{</span> <span class="token keyword">var</span> bnahrung <span class="token operator">=</span> document<span class="token punctuation">.</span><span class="token function">getElementById</span><span class="token punctuation">(</span><span class="token string">'bnahrung'</span><span class="token punctuation">)</span><span class="token punctuation">,</span> bholz <span class="token operator">=</span> document<span class="token punctuation">.</span><span class="token function">getElementById</span><span class="token punctuation">(</span><span class="token string">'bholz'</span><span class="token punctuation">)</span><span class="token punctuation">,</span> bsilber <span class="token operator">=</span> document<span class="token punctuation">.</span><span class="token function">getElementById</span><span class="token punctuation">(</span><span class="token string">'bsilber'</span><span class="token punctuation">)</span><span class="token punctuation">;</span> bspnahrung <span class="token operator">=</span> document<span class="token punctuation">.</span><span class="token function">getElementById</span><span class="token punctuation">(</span><span class="token string">'bspnahrung'</span><span class="token punctuation">)</span><span class="token punctuation">;</span> bspholz <span class="token operator">=</span> document<span class="token punctuation">.</span><span class="token function">getElementById</span><span class="token punctuation">(</span><span class="token string">'bspholz'</span><span class="token punctuation">)</span><span class="token punctuation">;</span> bsilber <span class="token operator">=</span> document<span class="token punctuation">.</span><span class="token function">getElementById</span><span class="token punctuation">(</span><span class="token string">'bsilber'</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token keyword">var</span> summe <span class="token operator">=</span> bnahrung<span class="token punctuation">.</span>valueAsNumber <span class="token operator">/</span> <span class="token number">1000</span> <span class="token operator">+</span> bholz<span class="token punctuation">.</span>valueAsNumber <span class="token operator">*</span> <span class="token number">3</span> <span class="token operator">/</span> <span class="token number">160</span> <span class="token operator">+</span> bsilber<span class="token punctuation">.</span>valueAsNumber <span class="token operator">*</span> <span class="token number">5</span> <span class="token operator">/</span> <span class="token number">40</span> <span class="token operator">+</span> bspnahrung<span class="token punctuation">.</span>valueAsNumber <span class="token operator">*</span> <span class="token number">1500</span> <span class="token operator">+</span> bspholz<span class="token punctuation">.</span>valueAsNumber <span class="token operator">*</span> <span class="token number">4500</span> <span class="token operator">+</span> bspsilber<span class="token punctuation">.</span>valueAsNumber <span class="token operator">*</span> <span class="token number">7500</span><span class="token punctuation">;</span> summe <span class="token operator">=</span> summe<span class="token punctuation">.</span><span class="token function">toFixed</span><span class="token punctuation">(</span><span class="token number">0</span><span class="token punctuation">)</span><span class="token punctuation">;</span> document<span class="token punctuation">.</span><span class="token function">getElementById</span><span class="token punctuation">(</span><span class="token string">'betrag1'</span><span class="token punctuation">)</span><span class="token punctuation">.</span>value <span class="token operator">=</span> summe<span class="token punctuation">;</span> <span class="token punctuation">}</span> document<span class="token punctuation">.</span><span class="token function">getElementById</span><span class="token punctuation">(</span><span class="token string">"myForm1"</span><span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">addEventListener</span><span class="token punctuation">(</span><span class="token string">"input"</span><span class="token punctuation">,</span> rechne<span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token punctuation">}</span><span class="token punctuation">)</span><span class="token punctuation">;</span> </code></pre> </blockquote> <ol> <li> <p>Die Elemente im DOM ändern sich doch nicht, oder? Es macht also keinen Sinn, die Elemente bei jedem Aufruf der Eventhandlerfunktion <code class="language-js"><span class="token function">rechne</span><span class="token punctuation">(</span><span class="token punctuation">)</span></code> immer und immer wieder mit <code class="language-js">document<span class="token punctuation">.</span><span class="token function">getElementById</span><span class="token punctuation">(</span><span class="token punctuation">)</span></code> herauszusuchen. Das müsste <strong>einmalig</strong> geschehen, also außerhalb von <code class="language-js"><span class="token function">rechne</span><span class="token punctuation">(</span><span class="token punctuation">)</span></code>.</p> <p><a href="https://wiki.selfhtml.org/wiki/JavaScript/Variable#Globale_Variablen" rel="nofollow noopener noreferrer">Globale Variablen</a> sind auch keine gute Idee. (<code>bnahrung</code>, <code>bholz</code>, <code>bsilber</code> sind bei dir lokal – so wie’s sein soll –; <code>bspnahrung</code>, <code>bspholz</code>, <code>bsilber</code> sind ohne Schlüsselwort <code class="language-js"><span class="token keyword">var</span></code> global.)</p> <p>Mittlerweile gibt es die Schlüsselwörter <a href="https://wiki.selfhtml.org/wiki/JavaScript/Variable/let" class="language-js" rel="nofollow noopener noreferrer"><code class="language-js"><span class="token keyword">let</span></code></a> und <a href="https://wiki.selfhtml.org/wiki/JavaScript/Variable/const" rel="nofollow noopener noreferrer"><code class="language-js"><span class="token keyword">const</span></code></a>, die bevorzugt anstelle von <code class="language-js"><span class="token keyword">var</span></code> zu verwenden sind.</p> <p>BTW, mit <code class="language-js bad">summe <span class="token operator">=</span> summe<span class="token punctuation">.</span><span class="token function">toFixed</span><span class="token punctuation">(</span><span class="token number">0</span><span class="token punctuation">)</span><span class="token punctuation">;</span></code> halte ich für schlechten Programmnierstil. Du weist du der Variablen <code>summe</code> einen neuen Wert zu, und zwar von einem völlig anderen Typ (String) als dem, den sie vorher hatte (Number). Sowas würde ich vermeiden.</p> </li> <li> <p>macht es keinen Sinn, die Elemente im gesamten DOM zu suchen. Du rufst sowieso <code class="language-js">document<span class="token punctuation">.</span><span class="token function">getElementById</span><span class="token punctuation">(</span><span class="token string">"myForm1"</span><span class="token punctuation">)</span></code> auf; das kann man sich in einer Variablen merken und die anderen Elemente müssen nur darin gesucht werden:</p> <pre><code class="block language-js"><span class="token keyword">const</span> myForm1 <span class="token operator">=</span> document<span class="token punctuation">.</span><span class="token function">getElementById</span><span class="token punctuation">(</span><span class="token string">'myForm1'</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token keyword">const</span> bnahrung <span class="token operator">=</span> myForm1<span class="token punctuation">.</span><span class="token function">getElementById</span><span class="token punctuation">(</span><span class="token string">'bnahrung'</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token keyword">const</span> bholz <span class="token operator">=</span> myForm1<span class="token punctuation">.</span><span class="token function">getElementById</span><span class="token punctuation">(</span><span class="token string">'bholz'</span><span class="token punctuation">)</span><span class="token punctuation">;</span> </code></pre> </li> <li> <p>macht es keinen Sinn, die Elemente überhaupt zu suchen. Wenn das <code>form</code>-Element und die darin enthaltenen Eingabe-Elemente <code>name</code>-Attribute tragen (was sie tun sollten), dann liegen bereits Referenzen zu diesen vor:</p> <pre><code class="block language-html"><span class="token tag"><span class="token tag"><span class="token punctuation"><</span>form</span> <span class="token attr-name">name</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>myForm1<span class="token punctuation">"</span></span><span class="token punctuation">></span></span> <span class="token tag"><span class="token tag"><span class="token punctuation"><</span>label</span> <span class="token attr-name">for</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>bnahrung<span class="token punctuation">"</span></span><span class="token punctuation">></span></span>Nahrung:<span class="token tag"><span class="token tag"><span class="token punctuation"></</span>label</span><span class="token punctuation">></span></span> <span class="token tag"><span class="token tag"><span class="token punctuation"><</span>input</span> <span class="token attr-name">name</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>bnahrung<span class="token punctuation">"</span></span> <span class="token attr-name">id</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>bnahrung<span class="token punctuation">"</span></span><span class="token punctuation">/></span></span> ⋮ <span class="token tag"><span class="token tag"><span class="token punctuation"></</span>form</span><span class="token punctuation">></span></span> </code></pre> <p>Das <code>form</code>-Element ist per <code class="language-js">document<span class="token punctuation">.</span>forms<span class="token punctuation">[</span><span class="token string">'myForm1'</span><span class="token punctuation">]</span></code> verfügbar; ohne dass man nochmal danach suchen müsste.</p> <p>Eingabe-Elemente per <code class="language-js">document<span class="token punctuation">.</span>forms<span class="token punctuation">[</span><span class="token string">'myForm1'</span><span class="token punctuation">]</span><span class="token punctuation">.</span>elements<span class="token punctuation">[</span><span class="token string">'bnahrung'</span><span class="token punctuation">]</span></code> usw.</p> <p>Beachte, dass das Eingabe-Element <code>name</code>- und <code>id</code>-Attribute hat. Die Zuordnung der Beschriftung (<code>for</code>-Attribut des <code>label</code>-Elements`) bezieht sich auf die ID.</p> </li> </ol> <p lang="en"> Stay hard! Stay hungry! Stay alive! <strong>Stay home!</strong></p> <div class="signature">-- <br> <em>“Turn off CSS. If the page makes no sense, fix your markup.”</em> —fantasai </div> Zahlenformat in Java Rechnung Sun, 28 Jun 20 07:35:43 Z https://forum.selfhtml.org/self/2020/jun/28/zahlenformat-in-java-rechnung/1772662?srt=yes#m1772662 https://forum.selfhtml.org/self/2020/jun/28/zahlenformat-in-java-rechnung/1772662?srt=yes#m1772662 <p>Hey,</p> <blockquote> <p>Java und JavaScript ist nicht dasselbe.</p> </blockquote> <p>Ich hab es auch gesehen, war aber zu müde um das noch richtig zu stellen.</p> <p>Gruß<br> Jo</p> Zahlenformat in Java Rechnung Sun, 28 Jun 20 10:00:23 Z https://forum.selfhtml.org/self/2020/jun/28/zahlenformat-in-java-rechnung/1772665?srt=yes#m1772665 https://forum.selfhtml.org/self/2020/jun/28/zahlenformat-in-java-rechnung/1772665?srt=yes#m1772665 <p>@@Matthias Apsel</p> <blockquote> <p>Java und JavaScript ist nicht dasselbe.</p> </blockquote> <p>Kannst du das näher erläutern? Vielleicht mit ein paar Analogien? </p> <p lang="en"> Stay hard! Stay hungry! Stay alive! <strong>Stay home!</strong></p> <div class="signature">-- <br> <em>“Turn off CSS. If the page makes no sense, fix your markup.”</em> —fantasai </div> Zahlenformat in Java Rechnung Sun, 28 Jun 20 10:19:07 Z https://forum.selfhtml.org/self/2020/jun/28/zahlenformat-in-java-rechnung/1772666?srt=yes#m1772666 https://forum.selfhtml.org/self/2020/jun/28/zahlenformat-in-java-rechnung/1772666?srt=yes#m1772666 <p>Hi there</p> <blockquote> <p>Java und JavaScript ist nicht dasselbe.</p> </blockquote> <p>Gähn, schnarch, im Stehen einschlaf...</p> <p>(scnr)</p> Zahlenformat in Java Rechnung Sun, 28 Jun 20 20:32:21 Z https://forum.selfhtml.org/self/2020/jun/28/zahlenformat-in-java-rechnung/1772693?srt=yes#m1772693 https://forum.selfhtml.org/self/2020/jun/28/zahlenformat-in-java-rechnung/1772693?srt=yes#m1772693 <p>@@Gunnar Bittersmann</p> <blockquote> <blockquote> <p>Java und JavaScript ist nicht dasselbe.</p> </blockquote> <p>Kannst du das näher erläutern? Vielleicht mit ein paar Analogien? </p> </blockquote> <p>Haste den schon in deiner Sammlung? Java zu JavaScript wie anal zu Analogie.</p> <p lang="en"> Stay hard! Stay hungry! Stay alive! <strong>Stay home!</strong></p> <div class="signature">-- <br> <em>“Turn off CSS. If the page makes no sense, fix your markup.”</em> —fantasai </div> Zahlenformat in Java Rechnung Sun, 28 Jun 20 11:34:21 Z https://forum.selfhtml.org/self/2020/jun/28/zahlenformat-in-java-rechnung/1772668?srt=yes#m1772668 https://forum.selfhtml.org/self/2020/jun/28/zahlenformat-in-java-rechnung/1772668?srt=yes#m1772668 <p>Hallo klawischnigg,</p> <blockquote> <p>Gähn, schnarch, im Stehen einschlaf...</p> </blockquote> <p>Schlimm, nicht? Dass man jeder neuen Schülergeneration immer wieder dasselbe erzählen muss. Genauso schlimm, dass verschiedene Menschen völlig unabhängig voneinander immer wieder dieselben Fehler machen.</p> <p>Bis demnächst<br> Matthias</p> <div class="signature">-- <br> Du kannst das Projekt SELFHTML unterstützen,<br> indem du bei Amazon-Einkäufen <a href="https://smile.amazon.de/ch/314-570-45498" rel="nofollow noopener noreferrer">Amazon smile</a> (<a href="https://www.amazon.de/gp/help/customer/display.html?ie=UTF8&nodeId=202035970%5D" rel="nofollow noopener noreferrer">Was ist das?</a>) nutzt. </div> Zahlenformat in Java Rechnung Sun, 28 Jun 20 11:46:03 Z https://forum.selfhtml.org/self/2020/jun/28/zahlenformat-in-java-rechnung/1772669?srt=yes#m1772669 https://forum.selfhtml.org/self/2020/jun/28/zahlenformat-in-java-rechnung/1772669?srt=yes#m1772669 <p>Hallo,</p> <blockquote> <p>(<a href="https://felix-riesterer.de/self/zahlenformat.html" rel="nofollow noopener noreferrer">Demo</a>)</p> </blockquote> <p>Bug? Ich habe zufällige Werte eingegeben und bekomme natürlich ein krummes Ergebnis. Sodann versuche ich mit den Pfeiltasten einen Integerwert als Ergebnis zu bekommen. Das gelingt nicht, da wird offenbar die Ansicht nicht aktualisiert.</p> <p>Beispiel:</p> <p>Nahrung: 257001<br> Holz: 469000<br> Silber: 50<br> BspNahrung: 5680<br> BspHolz: 140<br> BspSilber: 6</p> <p>9.204.057,001</p> <p>klicke ich bei Nahrung 1 runter, ändert sich nix. Erst beim 2. Klick kommt<br> ...6,999</p> <p>Gruß<br> Kalk</p> Zahlenformat in Java Rechnung Sun, 28 Jun 20 16:02:42 Z https://forum.selfhtml.org/self/2020/jun/28/zahlenformat-in-java-rechnung/1772685?srt=yes#m1772685 https://forum.selfhtml.org/self/2020/jun/28/zahlenformat-in-java-rechnung/1772685?srt=yes#m1772685 <p>@@Felix Riesterer</p> <blockquote> <p>suchst Du so etwas? (<a href="https://felix-riesterer.de/self/zahlenformat.html" rel="nofollow noopener noreferrer">Demo</a>)</p> </blockquote> <p>Nein. Die <a href="https://forum.selfhtml.org/self/2020/jun/28/zahlenformat-in-java-rechnung/1772660#m1772660" rel="noopener noreferrer">richtige Lösung</a> war lange genannt.</p> <p>Ich sehe keinen Grund, die native JavaScript-Methode nicht zu verwenden und stattdessen das mit was Eigenem nachzubasteln.</p> <p lang="en"> Stay hard! Stay hungry! Stay alive! <strong>Stay home!</strong></p> <div class="signature">-- <br> <em>“Turn off CSS. If the page makes no sense, fix your markup.”</em> —fantasai </div> Zahlenformat in Java Rechnung Sun, 28 Jun 20 11:48:02 Z https://forum.selfhtml.org/self/2020/jun/28/zahlenformat-in-java-rechnung/1772671?srt=yes#m1772671 https://forum.selfhtml.org/self/2020/jun/28/zahlenformat-in-java-rechnung/1772671?srt=yes#m1772671 <p>Hallo,</p> <blockquote> <p>Genauso schlimm, dass verschiedene Menschen völlig unabhängig voneinander immer wieder dieselben Fehler machen.</p> </blockquote> <p>Das kannste auch bei einunddemselben Menschen bobachten...</p> <p>Gruß<br> Kalk</p> Zahlenformat in Java Rechnung Sun, 28 Jun 20 12:44:50 Z https://forum.selfhtml.org/self/2020/jun/28/zahlenformat-in-java-rechnung/1772674?srt=yes#m1772674 https://forum.selfhtml.org/self/2020/jun/28/zahlenformat-in-java-rechnung/1772674?srt=yes#m1772674 <p>Lieber Tabellenkalk,</p> <blockquote> <p>Bug? [...] da wird offenbar die Ansicht nicht aktualisiert.</p> </blockquote> <p>offensichtlich. Aber mir ist das herzlich egal, weil es in erster Linie um die Zusammenstellung der Zahl geht, und in zweiter, wie man fehlerhafte Eingaben in JavaScript abfängt.</p> <p>Liebe Grüße</p> <p>Felix Riesterer</p> Zahlenformat in Java Rechnung Sun, 28 Jun 20 12:12:16 Z https://forum.selfhtml.org/self/2020/jun/28/zahlenformat-in-java-rechnung/1772673?srt=yes#m1772673 https://forum.selfhtml.org/self/2020/jun/28/zahlenformat-in-java-rechnung/1772673?srt=yes#m1772673 <p>Hi,</p> <blockquote> <blockquote> <p>Genauso schlimm, dass verschiedene Menschen völlig unabhängig voneinander immer wieder dieselben Fehler machen.</p> </blockquote> <p>Das kannste auch bei einunddemselben Menschen bobachten...</p> </blockquote> <p>ja, stimmt. Eigentlich ist es ein Merkmal der Spezies homo sapiens (aber nicht nur dieser), dass wir auch aus den Fehlern <strong>anderer</strong> lernen können. Das funktioniert aber nicht bei allen Individuen gleich gut.</p> <p>Merke: Der Lerneffekt ist am wirksamsten, wenn's weh tut.</p> <p>Live long and <s>pros</s> healthy,<br>  Martin</p> <div class="signature">-- <br> Home is where my beer is. </div> Zahlenformat in Java Rechnung Sun, 28 Jun 20 13:04:49 Z https://forum.selfhtml.org/self/2020/jun/28/zahlenformat-in-java-rechnung/1772675?srt=yes#m1772675 https://forum.selfhtml.org/self/2020/jun/28/zahlenformat-in-java-rechnung/1772675?srt=yes#m1772675 <p>Hi there,</p> <blockquote> <p>Merke: Der Lerneffekt ist am wirksamsten, wenn's weh tut.</p> </blockquote> <p>Also mir tun seine Java-Javascript-Vergleiche/Unterscheidungen schon weh...</p> Zahlenformat in Java Rechnung Sun, 28 Jun 20 15:16:28 Z https://forum.selfhtml.org/self/2020/jun/28/zahlenformat-in-java-rechnung/1772682?srt=yes#m1772682 https://forum.selfhtml.org/self/2020/jun/28/zahlenformat-in-java-rechnung/1772682?srt=yes#m1772682 <p>Lieber klawischnigg,</p> <blockquote> <p>Also mir tun seine Java-Javascript-Vergleiche/Unterscheidungen schon weh...</p> </blockquote> <p>na, dann nichts wie drauf: Maus <-> Mausoleum :P</p> <p>Liebe Grüße</p> <p>Felix Riesterer</p> Zahlenformat in Java Rechnung Sun, 28 Jun 20 15:26:19 Z https://forum.selfhtml.org/self/2020/jun/28/zahlenformat-in-java-rechnung/1772683?srt=yes#m1772683 https://forum.selfhtml.org/self/2020/jun/28/zahlenformat-in-java-rechnung/1772683?srt=yes#m1772683 <p>Hi there,</p> <blockquote> <blockquote> <p>Also mir tun seine Java-Javascript-Vergleiche/Unterscheidungen schon weh...</p> </blockquote> <p>na, dann nichts wie drauf: Maus <-> Mausoleum :P</p> </blockquote> <p>wie grausam kannst Du sein...</p> Zahlenformat in Java Rechnung Sun, 28 Jun 20 15:28:51 Z https://forum.selfhtml.org/self/2020/jun/28/zahlenformat-in-java-rechnung/1772684?srt=yes#m1772684 https://forum.selfhtml.org/self/2020/jun/28/zahlenformat-in-java-rechnung/1772684?srt=yes#m1772684 <p>Hallo Felix,</p> <blockquote> <p>Maus <-> Mausoleum :P</p> </blockquote> <p>ganz anders gelagert, aber mir fiel dazu gerade in Ausspruch von Kai Pflaume in der Sendung <em><a href="https://de.wikipedia.org/wiki/Frag_doch_mal_die_Maus" rel="nofollow noopener noreferrer">Frag doch mal die Maus</a></em><sup class="footnote-ref"><a href="#fn1" id="fnref1">[1]</a></sup> ein. Bei einem Wettbewerb sprach er da mal von der <strong>Weltmausterschaft</strong>.</p> <p>Live long and <s>pros</s> healthy,<br>  Martin</p> <div class="signature">-- <br> Home is where my beer is. </div> <hr class="footnotes-sep"> <section class="footnotes"> <ol class="footnotes-list"> <li id="fn1" class="footnote-item"><p>Eine Spiel- und Quizsendung, bei der Kinder die eigentlichen Stars sind. <a href="#fnref1" class="footnote-backref">↩︎</a></p> </li> </ol> </section> Zahlenformat in Java Rechnung Sun, 28 Jun 20 19:27:28 Z https://forum.selfhtml.org/self/2020/jun/28/zahlenformat-in-java-rechnung/1772689?srt=yes#m1772689 https://forum.selfhtml.org/self/2020/jun/28/zahlenformat-in-java-rechnung/1772689?srt=yes#m1772689 <p>Hallo Gunnar,</p> <blockquote> <p>Nein. Die <a href="https://forum.selfhtml.org/self/2020/jun/28/zahlenformat-in-java-rechnung/1772660#m1772660" rel="noopener noreferrer">richtige Lösung</a> war lange genannt.</p> <p>Ich sehe keinen Grund, die native JavaScript-Methode nicht zu verwenden und stattdessen das mit was Eigenem nachzubasteln.</p> </blockquote> <p>leider verwendet <code>.toLocalString()</code> als Tausendertrennzeichen den Punkt (de) und nicht, wie die Normen vorsehen, ein schmales geschütztes Leerzeichen. Auch führen Tausendertrenner dazu, dass die Zahlen nicht mehr per C&P übernommen werden können.</p> <p>Gruß<br> Jürgen</p> Zahlenformat in Java Rechnung Sun, 28 Jun 20 20:24:35 Z https://forum.selfhtml.org/self/2020/jun/28/zahlenformat-in-java-rechnung/1772691?srt=yes#m1772691 https://forum.selfhtml.org/self/2020/jun/28/zahlenformat-in-java-rechnung/1772691?srt=yes#m1772691 <p>Hi there,</p> <blockquote> <blockquote> <p>Ich sehe keinen Grund, die native JavaScript-Methode nicht zu verwenden und stattdessen das mit was Eigenem nachzubasteln.</p> </blockquote> <p>leider verwendet <code>.toLocalString()</code> als Tausendertrennzeichen den Punkt (de) und nicht, wie die Normen vorsehen, ein schmales geschütztes Leerzeichen. Auch führen Tausendertrenner dazu, dass die Zahlen nicht mehr per C&P übernommen werden können.</p> </blockquote> <p>Naja, ersteres kann man leicht dadurch ändern, indem man dem .toLocalString() ein .replace(/./g,'was_weiss_ich_wie_man_ein_geschütztes_leerzeichen_darstellt') nachstellt und zweites Problem hast Du immer, egal wie oder womit oder wie aufwendig Du den Ausgabestring erzeugst. Ich meine, wenn ich mir das Beispiel von Felix anschaue, krieg' ich Augenkrebs, und vor allem, für nix...</p> Zahlenformat in Java Rechnung Sun, 28 Jun 20 20:45:50 Z https://forum.selfhtml.org/self/2020/jun/28/zahlenformat-in-java-rechnung/1772700?srt=yes#m1772700 https://forum.selfhtml.org/self/2020/jun/28/zahlenformat-in-java-rechnung/1772700?srt=yes#m1772700 <p>@@JürgenB</p> <blockquote> <p>leider verwendet <code>.toLocalString()</code> als Tausendertrennzeichen den Punkt (de) und nicht, wie die Normen vorsehen, ein schmales geschütztes Leerzeichen.</p> </blockquote> <p><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/toLocaleString" rel="nofollow noopener noreferrer">Number.toLocaleString()</a> erlaubt die Angabe von Optionen. Unten wird auf [<a href="https://tc39.es/ecma402/#sup-number.prototype.tolocalestring" rel="nofollow noopener noreferrer">ECMA-402</a>] verwiesen. Ich hab aber nichts Genaueres finden können, was da so alles möglich ist. Vielleicht kann man ja auch das als Tausendertrennzeichen zu verwendende Zeichen angeben.</p> <p lang="en"> Stay hard! Stay hungry! Stay alive! <strong>Stay home!</strong></p> <div class="signature">-- <br> <em>“Turn off CSS. If the page makes no sense, fix your markup.”</em> —fantasai </div> Zahlenformat in Java Rechnung Sun, 28 Jun 20 21:45:08 Z https://forum.selfhtml.org/self/2020/jun/28/zahlenformat-in-java-rechnung/1772703?srt=yes#m1772703 https://forum.selfhtml.org/self/2020/jun/28/zahlenformat-in-java-rechnung/1772703?srt=yes#m1772703 <p>Hallo Gunnar,</p> <blockquote> <p>Die Elemente im DOM ändern sich doch nicht, oder?</p> </blockquote> <p>Richtig, und es ist sinnvoll, die DOM Referenzen in Variablen zu puffern. Du weist darüber hinaus darauf hin, dass globale Variablen nichts taugen, lässt betking aber mit der Umsetzung allein.</p> <p>Ich ergänze darum einen <a href="https://wiki.selfhtml.org/wiki/JavaScript/Objekte/Module_und_Kapselung" rel="nofollow noopener noreferrer">Link auf's Wiki</a> und empfehle Kapitel 3</p> <p>Und viertens würde ich annehmen, dass die sechste der folgenden Zeilen falsch ist.</p> <pre><code class="block language-js"><span class="token keyword">var</span> bnahrung <span class="token operator">=</span> document<span class="token punctuation">.</span><span class="token function">getElementById</span><span class="token punctuation">(</span><span class="token string">'bnahrung'</span><span class="token punctuation">)</span><span class="token punctuation">,</span> bholz <span class="token operator">=</span> document<span class="token punctuation">.</span><span class="token function">getElementById</span><span class="token punctuation">(</span><span class="token string">'bholz'</span><span class="token punctuation">)</span><span class="token punctuation">,</span> bsilber <span class="token operator">=</span> document<span class="token punctuation">.</span><span class="token function">getElementById</span><span class="token punctuation">(</span><span class="token string">'bsilber'</span><span class="token punctuation">)</span><span class="token punctuation">;</span> bspnahrung <span class="token operator">=</span> document<span class="token punctuation">.</span><span class="token function">getElementById</span><span class="token punctuation">(</span><span class="token string">'bspnahrung'</span><span class="token punctuation">)</span><span class="token punctuation">;</span> bspholz <span class="token operator">=</span> document<span class="token punctuation">.</span><span class="token function">getElementById</span><span class="token punctuation">(</span><span class="token string">'bspholz'</span><span class="token punctuation">)</span><span class="token punctuation">;</span> bsilber <span class="token operator">=</span> document<span class="token punctuation">.</span><span class="token function">getElementById</span><span class="token punctuation">(</span><span class="token string">'bsilber'</span><span class="token punctuation">)</span><span class="token punctuation">;</span> </code></pre> <p>Die Systematik ist inkonsistent. Die ersten 3: b+Ressource. Die nächsten 3: bsp+Ressource, außer beim Silber.</p> <p><em>Rolf</em></p> <div class="signature">-- <br> sumpsi - posui - obstruxi </div> Zahlenformat in Java Rechnung Mon, 29 Jun 20 06:16:42 Z https://forum.selfhtml.org/self/2020/jun/28/zahlenformat-in-java-rechnung/1772704?srt=yes#m1772704 https://forum.selfhtml.org/self/2020/jun/28/zahlenformat-in-java-rechnung/1772704?srt=yes#m1772704 <p>Hey,</p> <blockquote> <p>BTW, mit <code class="language-js bad">summe <span class="token operator">=</span> summe<span class="token punctuation">.</span><span class="token function">toFixed</span><span class="token punctuation">(</span><span class="token number">0</span><span class="token punctuation">)</span><span class="token punctuation">;</span></code> halte ich für schlechten Programmnierstil. Du weist du der Variablen <code>summe</code> einen neuen Wert zu, und zwar von einem völlig anderen Typ (String) als dem, den sie vorher hatte (Number). Sowas würde ich vermeiden.</p> </blockquote> <p>Macht das <code>.toLocalString()</code> nicht auch?</p> <p>Gruß<br> Jo</p> Zahlenformat in Java Rechnung Sun, 28 Jun 20 20:29:32 Z https://forum.selfhtml.org/self/2020/jun/28/zahlenformat-in-java-rechnung/1772692?srt=yes#m1772692 https://forum.selfhtml.org/self/2020/jun/28/zahlenformat-in-java-rechnung/1772692?srt=yes#m1772692 <p>@@klawischnigg</p> <blockquote> <p>'was_weiss_ich_wie_man_ein_geschütztes_leerzeichen_darstellt'</p> </blockquote> <p><code class="language-js"><span class="token string">'\u{00A0}'</span></code>, würd ich denken.</p> <p lang="en"> Stay hard! Stay hungry! Stay alive! <strong>Stay home!</strong></p> <div class="signature">-- <br> <em>“Turn off CSS. If the page makes no sense, fix your markup.”</em> —fantasai </div> Zahlenformat in Java Rechnung Sun, 28 Jun 20 20:35:18 Z https://forum.selfhtml.org/self/2020/jun/28/zahlenformat-in-java-rechnung/1772695?srt=yes#m1772695 https://forum.selfhtml.org/self/2020/jun/28/zahlenformat-in-java-rechnung/1772695?srt=yes#m1772695 <p>Hallo,</p> <blockquote> <blockquote> <p>Auch führen Tausendertrenner dazu, dass die Zahlen nicht mehr per C&P übernommen werden können.</p> </blockquote> <p>und zweites Problem hast Du immer, egal wie oder womit oder wie aufwendig Du den Ausgabestring erzeugst.</p> </blockquote> <p>deswegen bin ich immer wieder der Meinung, dass diese Formatierung der Ausgabe die Sache von CSS sein müsste, so dass der tatsächlich übertragene Wert <em>locale-agnostic</em> ist. Dann wäre er auch problemlos mit C&P übertragbar.</p> <blockquote> <p>Ich meine, wenn ich mir das Beispiel von Felix anschaue, krieg' ich Augenkrebs, und vor allem, für nix...</p> </blockquote> <p>Warum konkret? - Mich stört da eigentlich nur das Komma als Dezimaltrennzeichen, wo ich eigentlich einen Punkt erwarte.</p> <p>Live long and <s>pros</s> healthy,<br>  Martin</p> <div class="signature">-- <br> Home is where my beer is. </div> Zahlenformat in Java Rechnung Sun, 28 Jun 20 20:34:20 Z https://forum.selfhtml.org/self/2020/jun/28/zahlenformat-in-java-rechnung/1772694?srt=yes#m1772694 https://forum.selfhtml.org/self/2020/jun/28/zahlenformat-in-java-rechnung/1772694?srt=yes#m1772694 <p>Hi there,</p> <blockquote> <blockquote> <p>'was_weiss_ich_wie_man_ein_geschütztes_leerzeichen_darstellt'</p> </blockquote> <p><code class="language-js"><span class="token string">'\u{00A0}'</span></code>, würd ich denken.</p> </blockquote> <p>Also, dank Gunnar heisst jetzt die gesuchte Lösung jetzt <code>zahl.toLocaleString('de-DE').replace(/\./g,'\u{00A0}')</code> ... </p> Zahlenformat in Java Rechnung Sun, 28 Jun 20 20:38:16 Z https://forum.selfhtml.org/self/2020/jun/28/zahlenformat-in-java-rechnung/1772698?srt=yes#m1772698 https://forum.selfhtml.org/self/2020/jun/28/zahlenformat-in-java-rechnung/1772698?srt=yes#m1772698 <p>Hallo Gunnar,</p> <blockquote> <p>Haste den schon in deiner Sammlung? Java zu JavaScript wie anal zu Analogie.</p> </blockquote> <p>oh, Glück gehabt. Ich habe beim flüchtigen Hinsehen schon <em>Analorgie</em> gesehen.</p> <p>Live long and <s>pros</s> healthy,<br>  Martin</p> <div class="signature">-- <br> Home is where my beer is. </div> Zahlenformat in Java Rechnung Sun, 28 Jun 20 20:38:13 Z https://forum.selfhtml.org/self/2020/jun/28/zahlenformat-in-java-rechnung/1772697?srt=yes#m1772697 https://forum.selfhtml.org/self/2020/jun/28/zahlenformat-in-java-rechnung/1772697?srt=yes#m1772697 <p>@@klawischnigg</p> <blockquote> <p>Also, dank Gunnar heisst jetzt die gesuchte Lösung jetzt <code>zahl.toLocaleString('de-DE').replace(/\./g,'\u{00A0}')</code> ... </p> </blockquote> <p>Ah, waitaminute. Statt U+00A0 würd ich da eher ein U+202F <em lang="en"><strong>narrow</strong> no-break space</em> setzen. (Auch wenn das in manchen Schriftarten keinen visuellen Unterschied macht.)</p> <p lang="en"> Stay hard! Stay hungry! Stay alive! <strong>Stay home!</strong></p> <div class="signature">-- <br> <em>“Turn off CSS. If the page makes no sense, fix your markup.”</em> —fantasai </div> Zahlenformat in Java Rechnung Sun, 28 Jun 20 20:37:16 Z https://forum.selfhtml.org/self/2020/jun/28/zahlenformat-in-java-rechnung/1772696?srt=yes#m1772696 https://forum.selfhtml.org/self/2020/jun/28/zahlenformat-in-java-rechnung/1772696?srt=yes#m1772696 <p>Hi there,</p> <blockquote> <p>deswegen bin ich immer wieder der Meinung, dass diese Formatierung der Ausgabe die Sache von CSS sein müsste, so dass der tatsächlich übertragene Wert <em>locale-agnostic</em> ist. Dann wäre er auch problemlos mit C&P übertragbar.</p> </blockquote> <p>korrekt.</p> <blockquote> <blockquote> <p>Ich meine, wenn ich mir das Beispiel von Felix anschaue, krieg' ich Augenkrebs, und vor allem, für nix...</p> </blockquote> <p>Warum konkret? - Mich stört da eigentlich nur das Komma als Dezimaltrennzeichen, wo ich eigentlich einen Punkt erwarte.</p> </blockquote> <p>Ich meinte damit nur den Aufwand, der betrieben wird, um eine bereits implementierte Funktion nachzubauen...</p> Zahlenformat in Java Rechnung Sun, 28 Jun 20 20:42:12 Z https://forum.selfhtml.org/self/2020/jun/28/zahlenformat-in-java-rechnung/1772699?srt=yes#m1772699 https://forum.selfhtml.org/self/2020/jun/28/zahlenformat-in-java-rechnung/1772699?srt=yes#m1772699 <p>Hi there,</p> <blockquote> <blockquote> <p>Also, dank Gunnar heisst jetzt die gesuchte Lösung jetzt <code>zahl.toLocaleString('de-DE').replace(/\./g,'\u{00A0}')</code> ... </p> </blockquote> <p>Ah, waitaminute. Statt U+00A0 würd ich da eher ein U+202F <em lang="en"><strong>narrow</strong> no-break space</em> setzen. (Auch wenn das in manchen Schriftarten keinen visuellen Unterschied macht.)</p> </blockquote> <p>Ja, die schlaue Wikidingsda sagt dazu: schmales Leerzeichen U+2009 (thinsp), Geschütztes Leerzeichen U+202F...</p> Zahlenformat in Java Rechnung Sun, 28 Jun 20 20:54:11 Z https://forum.selfhtml.org/self/2020/jun/28/zahlenformat-in-java-rechnung/1772701?srt=yes#m1772701 https://forum.selfhtml.org/self/2020/jun/28/zahlenformat-in-java-rechnung/1772701?srt=yes#m1772701 <p>Hi there,</p> <blockquote> <blockquote> <p>leider verwendet <code>.toLocalString()</code> als Tausendertrennzeichen den Punkt (de) und nicht, wie die Normen vorsehen, ein schmales geschütztes Leerzeichen.</p> </blockquote> <p><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/toLocaleString" rel="nofollow noopener noreferrer">Number.toLocaleString()</a> erlaubt die Angabe von Optionen. Unten wird auf [<a href="https://tc39.es/ecma402/#sup-number.prototype.tolocalestring" rel="nofollow noopener noreferrer">ECMA-402</a>] verwiesen. Ich hab aber nichts Genaueres finden können, was da so alles möglich ist. Vielleicht kann man ja auch das als Tausendertrennzeichen zu verwendende Zeichen angeben.</p> </blockquote> <p>Laut <a href="https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Global_Objects/Number/toLocaleString" rel="nofollow noopener noreferrer">MDN web docs</a> gibts in der Tat jede Menge Optionen aber interessanterweise nichts, womit man einfach das Tausendertrennzeichen einstellen kann. Vermutlich, weil es dann mit "to Locale" nichts mehr zu tun hätte ...</p> Zahlenformat in Java Rechnung Sun, 28 Jun 20 21:05:19 Z https://forum.selfhtml.org/self/2020/jun/28/zahlenformat-in-java-rechnung/1772702?srt=yes#m1772702 https://forum.selfhtml.org/self/2020/jun/28/zahlenformat-in-java-rechnung/1772702?srt=yes#m1772702 <p>Hallo Gunnar,</p> <p>ich habe auch nichts dazu gefunden, wie man den Separator ändern kann. Bei Stackoverflow wird auch replace vorgeschlagen.</p> <p>Gruß<br> Jürgen</p> Zahlenformat in Java Rechnung Mon, 29 Jun 20 09:21:37 Z https://forum.selfhtml.org/self/2020/jun/28/zahlenformat-in-java-rechnung/1772708?srt=yes#m1772708 https://forum.selfhtml.org/self/2020/jun/28/zahlenformat-in-java-rechnung/1772708?srt=yes#m1772708 <p>Hallo Gunnar,</p> <p>ich würde es für falsch halten, wenn man in toLocaleString das Gruppierungszeichen selbst einstellen könnte. Das <strong>muss</strong> aus dem Locale kommen, sonst ist es nicht international.</p> <p>Die von einem bestimmten Locale produzierten Formatierungen mit .replace zu „korrigieren“ ist auch riskant. Selbst wenn ich .toLocaleString("de-DE") verwende, weiß ich trotzdem nicht, ob dieses Locale auf dem Zielcomputer installiert ist. Da müsste man zuvor etwas herumsniffen, z.B. <code>(123456.789).toLocaleString("de-DE", {useGrouping:true,style:"decimal"}</code>) aufrufen und testen was der liefert. Oder kann das Vorhandensein von Locale-Definitionen abfragen? Oder heutzutage gar voraussetzen?</p> <p>Eine CSS Lösung würde wohl das gleiche Problem haben wie toLocaleString. Hinzu käme, dass man dort nicht mal die Chance hätte, mit .replace etwas zu „verbessern“.</p> <p><em>Rolf</em></p> <div class="signature">-- <br> sumpsi - posui - obstruxi </div> Zahlenformat in Java Rechnung Mon, 29 Jun 20 07:00:22 Z https://forum.selfhtml.org/self/2020/jun/28/zahlenformat-in-java-rechnung/1772705?srt=yes#m1772705 https://forum.selfhtml.org/self/2020/jun/28/zahlenformat-in-java-rechnung/1772705?srt=yes#m1772705 <p>Hallo,</p> <blockquote> <blockquote> <p>BTW, mit <code class="language-js bad">summe <span class="token operator">=</span> summe<span class="token punctuation">.</span><span class="token function">toFixed</span><span class="token punctuation">(</span><span class="token number">0</span><span class="token punctuation">)</span><span class="token punctuation">;</span></code> halte ich für schlechten Programmnierstil. Du weist du der Variablen <code>summe</code> einen neuen Wert zu, und zwar von einem völlig anderen Typ (String) als dem, den sie vorher hatte (Number). Sowas würde ich vermeiden.</p> </blockquote> <p>Macht das <code>.toLocalString()</code> nicht auch?</p> </blockquote> <p>nein, nicht per se, und .toFixed() auch nicht. Es geht vor allem um die erneute Zuweisung eines anderen Typs an dieselbe Variable. Dass eine Funktion oder Methode als Ergebnis einen anderen Typ liefert als den ihres Arguments, ist dagegen völlig normal.</p> <p>Übrigens: Die hier diskutierte Methode heißt toLocal<strong>e</strong>String.</p> <p>Live long and <s>pros</s> healthy,<br>  Martin</p> <div class="signature">-- <br> Home is where my beer is. </div> Zahlenformat in Java Rechnung Mon, 29 Jun 20 09:43:39 Z https://forum.selfhtml.org/self/2020/jun/28/zahlenformat-in-java-rechnung/1772710?srt=yes#m1772710 https://forum.selfhtml.org/self/2020/jun/28/zahlenformat-in-java-rechnung/1772710?srt=yes#m1772710 <p>Hallo Rolf,</p> <blockquote> <p>ich würde es für falsch halten, wenn man in toLocaleString das Gruppierungszeichen selbst einstellen könnte. Das <strong>muss</strong> aus dem Locale kommen, sonst ist es nicht international.</p> </blockquote> <p>aber entweder die Funktion hält sich an die Regeln, oder, wenn die Regeln nicht hart oder nicht akzeptiert sind, lässt Einstellungen zu.</p> <p>Gruß<br> Jürgen</p> Zahlenformat in Java Rechnung Mon, 29 Jun 20 12:03:26 Z https://forum.selfhtml.org/self/2020/jun/28/zahlenformat-in-java-rechnung/1772718?srt=yes#m1772718 https://forum.selfhtml.org/self/2020/jun/28/zahlenformat-in-java-rechnung/1772718?srt=yes#m1772718 <p>Hi there,</p> <blockquote> <p>Hallo Gunnar,</p> <p>ich würde es für falsch halten, wenn man in toLocaleString das Gruppierungszeichen selbst einstellen könnte. Das <strong>muss</strong> aus dem Locale kommen, sonst ist es nicht international.</p> </blockquote> <p>ich bin zwar nicht der Gunnar aber…</p> <blockquote> <p>Die von einem bestimmten Locale produzierten Formatierungen mit .replace zu „korrigieren“ ist auch riskant. Selbst wenn ich .toLocaleString("de-DE") verwende, weiß ich trotzdem nicht, ob dieses Locale auf dem Zielcomputer installiert ist.</p> </blockquote> <p>jo mei, ist man versucht zu sagen. Oder um es anders zu formulieren, das "Risiko" kann man getrost eingehen. Ich vermag mir selbst unter der Einnahme horrortrip-induzierender luzider Substanzen kein Szenario vorzustellen, wie jemand dadurch zu Schaden kommen könnte...</p> <blockquote> <p>Da müsste man zuvor etwas herumsniffen[...]</p> </blockquote> <p>ja, da müsste man wahrscheinlich sehr viel herumsniffen...</p> Zahlenformat in Java Rechnung Mon, 29 Jun 20 13:40:51 Z https://forum.selfhtml.org/self/2020/jun/28/zahlenformat-in-java-rechnung/1772724?srt=yes#m1772724 https://forum.selfhtml.org/self/2020/jun/28/zahlenformat-in-java-rechnung/1772724?srt=yes#m1772724 <blockquote> <p>Die von einem bestimmten Locale produzierten Formatierungen mit .replace zu „korrigieren“ ist auch riskant. Selbst wenn ich .toLocaleString("de-DE") verwende, weiß ich trotzdem nicht, ob dieses Locale auf dem Zielcomputer installiert ist. Da müsste man zuvor etwas herumsniffen, z.B. <code>(123456.789).toLocaleString("de-DE", {useGrouping:true,style:"decimal"}</code>) aufrufen und testen was der liefert. Oder kann das Vorhandensein von Locale-Definitionen abfragen?</p> </blockquote> <p>Man kann es mit <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat/supportedLocalesOf" rel="nofollow noopener noreferrer">Intl.NumberFormat.supportedLocalesOf()</a> abfragen.</p> Zahlenformat in Java Rechnung Mon, 29 Jun 20 14:21:01 Z https://forum.selfhtml.org/self/2020/jun/28/zahlenformat-in-java-rechnung/1772726?srt=yes#m1772726 https://forum.selfhtml.org/self/2020/jun/28/zahlenformat-in-java-rechnung/1772726?srt=yes#m1772726 <p>@@klawischnigg</p> <blockquote> <blockquote> <p>Die von einem bestimmten Locale produzierten Formatierungen mit .replace zu „korrigieren“ ist auch riskant. Selbst wenn ich .toLocaleString("de-DE") verwende, weiß ich trotzdem nicht, ob dieses Locale auf dem Zielcomputer installiert ist.</p> </blockquote> <p>jo mei, ist man versucht zu sagen. Oder um es anders zu formulieren, das "Risiko" kann man getrost eingehen.</p> </blockquote> <p>Hm, wenn <code>9876.50</code> nicht in <code>9.876,50</code> umgeformt wird und man <code>.</code> durch <code> </code> (U+202F) ersetzt, kommt <code>9876 50</code> raus. Das will man gewiss nicht.</p> <p lang="en"> Stay hard! Stay hungry! Stay alive! <strong>Stay home!</strong></p> <div class="signature">-- <br> <em>“Turn off CSS. If the page makes no sense, fix your markup.”</em> —fantasai </div> Zahlenformat in Java Rechnung Mon, 29 Jun 20 14:28:30 Z https://forum.selfhtml.org/self/2020/jun/28/zahlenformat-in-java-rechnung/1772728?srt=yes#m1772728 https://forum.selfhtml.org/self/2020/jun/28/zahlenformat-in-java-rechnung/1772728?srt=yes#m1772728 <p>Hallo 1unitedpower,</p> <p>vor 10min auch gesehen :)</p> <p>Aber danke dass Du es geschrieben hast.</p> <p><em>Rolf</em></p> <div class="signature">-- <br> sumpsi - posui - obstruxi </div> Zahlenformat in Java Rechnung Mon, 29 Jun 20 15:18:23 Z https://forum.selfhtml.org/self/2020/jun/28/zahlenformat-in-java-rechnung/1772734?srt=yes#m1772734 https://forum.selfhtml.org/self/2020/jun/28/zahlenformat-in-java-rechnung/1772734?srt=yes#m1772734 <p>@@Gunnar Bittersmann</p> <blockquote> <p>kommt <code>9876 50</code> raus.</p> </blockquote> <p>Oops, auf dem macBook wird <code>9876 50</code> wie <code>9876 50</code> gerendert; auf dem iPhone wie <code>987650</code>.</p> <p lang="en"> Stay hard! Stay hungry! Stay alive! <strong>Stay home!</strong></p> <div class="signature">-- <br> <em>“Turn off CSS. If the page makes no sense, fix your markup.”</em> —fantasai </div>