<?xml version="1.0" encoding="utf-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Kommentare zu: Zahlen formatieren</title>
	<atom:link href="http://javascript.jstruebig.de/javascript/37/feed" rel="self" type="application/rss+xml" />
	<link>http://javascript.jstruebig.de/javascript/37</link>
	<description>Javascript-Blog mit Skripten, Beispielen, Lösungen und FAQ</description>
	<lastBuildDate>Thu, 02 Feb 2012 11:31:07 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>Von: Struppi</title>
		<link>http://javascript.jstruebig.de/javascript/37/comment-page-2#comment-20698</link>
		<dc:creator>Struppi</dc:creator>
		<pubDate>Tue, 15 Nov 2011 16:41:44 +0000</pubDate>
		<guid isPermaLink="false">http://jstruebig.de/cms/wordpress/javascript/faq/37/#comment-20698</guid>
		<description>Interessanter und begründeter Einwurf. Ich guck mal, ob ich eine Lokalisierung konsequenter einbaue. 

Du kannst dir aber vorläufig damit behelfen:
&lt;pre lang=&quot;javascript&quot;&gt;
var zahl = &#039;1000,99&#039;;

alert( formatZahl(zahl.replace(/,/, &#039;.&#039;), 2, true));
&lt;/pre&gt;

Aus progammiertechnischer Sicht ist das aber fragwürdig. Im Prinzip sollten Zahlen immer Zahlen sein und Formatierung nur bei der Ausgabe angewandt werdenn.</description>
		<content:encoded><![CDATA[<p>Interessanter und begründeter Einwurf. Ich guck mal, ob ich eine Lokalisierung konsequenter einbaue. </p>
<p>Du kannst dir aber vorläufig damit behelfen:</p>
<pre lang="javascript">
var zahl = '1000,99';

alert( formatZahl(zahl.replace(/,/, '.'), 2, true));
</pre>
<p>Aus progammiertechnischer Sicht ist das aber fragwürdig. Im Prinzip sollten Zahlen immer Zahlen sein und Formatierung nur bei der Ausgabe angewandt werdenn.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Von: christian</title>
		<link>http://javascript.jstruebig.de/javascript/37/comment-page-2#comment-20697</link>
		<dc:creator>christian</dc:creator>
		<pubDate>Tue, 15 Nov 2011 15:58:30 +0000</pubDate>
		<guid isPermaLink="false">http://jstruebig.de/cms/wordpress/javascript/faq/37/#comment-20697</guid>
		<description>Cooles Skript, aber auch hier wird ein zweiter Durchlauf mit einer Kommazahl mit &quot;NaN&quot; quittiert. Wie kann ich dem Skript denn beibringen, als Dezimaltrenner das Komma zu akzeptieren?

Wenn ich richtig verstehe, wird die Zeile
&#039;var dec_point = &#039;,&#039;;&#039;
ja nur beim Zusammenbauen des Strings für die Ausgabe genutzt...

Beim Eingang der Funktion müßte man doch nur prüfen, ob der Eingabewert (als String) ein Komma enthält, dieses dann durch einen Punkt ersetzen, die Funktion rechnen (runden) lassen und das Ergebnis wieder von Punkt auf Komma umformatieren. &quot;Nur&quot;. :)
Wenn ich&#039;s könnte, würde ichs tun, JavaScript liegt mir aber nicht.</description>
		<content:encoded><![CDATA[<p>Cooles Skript, aber auch hier wird ein zweiter Durchlauf mit einer Kommazahl mit "NaN" quittiert. Wie kann ich dem Skript denn beibringen, als Dezimaltrenner das Komma zu akzeptieren?</p>
<p>Wenn ich richtig verstehe, wird die Zeile<br />
'var dec_point = ',';'<br />
ja nur beim Zusammenbauen des Strings für die Ausgabe genutzt...</p>
<p>Beim Eingang der Funktion müßte man doch nur prüfen, ob der Eingabewert (als String) ein Komma enthält, dieses dann durch einen Punkt ersetzen, die Funktion rechnen (runden) lassen und das Ergebnis wieder von Punkt auf Komma umformatieren. "Nur". <img src='http://javascript.jstruebig.de/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> <br />
Wenn ich's könnte, würde ichs tun, JavaScript liegt mir aber nicht.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Von: Tom</title>
		<link>http://javascript.jstruebig.de/javascript/37/comment-page-2#comment-20674</link>
		<dc:creator>Tom</dc:creator>
		<pubDate>Wed, 10 Aug 2011 23:18:06 +0000</pubDate>
		<guid isPermaLink="false">http://jstruebig.de/cms/wordpress/javascript/faq/37/#comment-20674</guid>
		<description>Ich bin ABSOLUTER JavaScript Anfänger (seit 2 Tagen :)) und selbst bei mir funktioniert die Funktion auf Anhieb! - PERFEKT ... vielen Dank.

Gruß
Thom</description>
		<content:encoded><![CDATA[<p>Ich bin ABSOLUTER JavaScript Anfänger (seit 2 Tagen <img src='http://javascript.jstruebig.de/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> ) und selbst bei mir funktioniert die Funktion auf Anhieb! - PERFEKT ... vielen Dank.</p>
<p>Gruß<br />
Thom</p>
]]></content:encoded>
	</item>
	<item>
		<title>Von: Formatierung</title>
		<link>http://javascript.jstruebig.de/javascript/37/comment-page-2#comment-20616</link>
		<dc:creator>Formatierung</dc:creator>
		<pubDate>Thu, 31 Mar 2011 23:17:39 +0000</pubDate>
		<guid isPermaLink="false">http://jstruebig.de/cms/wordpress/javascript/faq/37/#comment-20616</guid>
		<description>Ohm mann, ja das Runden ist immer so ein Problem. Man, ich hatte da auch ziemliche Probleme...</description>
		<content:encoded><![CDATA[<p>Ohm mann, ja das Runden ist immer so ein Problem. Man, ich hatte da auch ziemliche Probleme...</p>
]]></content:encoded>
	</item>
	<item>
		<title>Von: Rolf</title>
		<link>http://javascript.jstruebig.de/javascript/37/comment-page-1#comment-20416</link>
		<dc:creator>Rolf</dc:creator>
		<pubDate>Wed, 06 Oct 2010 07:16:05 +0000</pubDate>
		<guid isPermaLink="false">http://jstruebig.de/cms/wordpress/javascript/faq/37/#comment-20416</guid>
		<description>Hi Struppi,
selten, dass Javascript so me-nothing-you-nothing funktioniert. Deine Funktion aber läudt SOFORT und arbeitet klasse.
Danke !</description>
		<content:encoded><![CDATA[<p>Hi Struppi,<br />
selten, dass Javascript so me-nothing-you-nothing funktioniert. Deine Funktion aber läudt SOFORT und arbeitet klasse.<br />
Danke !</p>
]]></content:encoded>
	</item>
	<item>
		<title>Von: Struppi</title>
		<link>http://javascript.jstruebig.de/javascript/37/comment-page-1#comment-19735</link>
		<dc:creator>Struppi</dc:creator>
		<pubDate>Tue, 07 Apr 2009 06:36:10 +0000</pubDate>
		<guid isPermaLink="false">http://jstruebig.de/cms/wordpress/javascript/faq/37/#comment-19735</guid>
		<description>ist drin.</description>
		<content:encoded><![CDATA[<p>ist drin.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Von: Stefan</title>
		<link>http://javascript.jstruebig.de/javascript/37/comment-page-1#comment-19734</link>
		<dc:creator>Stefan</dc:creator>
		<pubDate>Mon, 06 Apr 2009 18:28:24 +0000</pubDate>
		<guid isPermaLink="false">http://jstruebig.de/cms/wordpress/javascript/faq/37/#comment-19734</guid>
		<description>Das Script ist toll, aber könntest du bitte dein js-script bitte mir der Korrigierten PHP Version abbleichen bezüglich Tausendertrennzeichen bei negativen Zahlen.
Würde es ja gerne selbst machen, brings aber irgendwie nicht hin.</description>
		<content:encoded><![CDATA[<p>Das Script ist toll, aber könntest du bitte dein js-script bitte mir der Korrigierten PHP Version abbleichen bezüglich Tausendertrennzeichen bei negativen Zahlen.<br />
Würde es ja gerne selbst machen, brings aber irgendwie nicht hin.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Von: Urs Bachmann</title>
		<link>http://javascript.jstruebig.de/javascript/37/comment-page-1#comment-19531</link>
		<dc:creator>Urs Bachmann</dc:creator>
		<pubDate>Sat, 03 Jan 2009 15:43:33 +0000</pubDate>
		<guid isPermaLink="false">http://jstruebig.de/cms/wordpress/javascript/faq/37/#comment-19531</guid>
		<description>Besten Dank fuer diese Funktion. Ich setzte sie ein um Zahlen aus FileMaker Web Companion zu formatieren.

Ich habe das Script noch so korrigiert, dass auch Nachnullen bei Zahlen ohne Dezimalstellen angezeigt werden. Auch das Einfuegen der Tausendermarkierung bei negativen Werten wird jetzt korrekt ausgefuehrt.

 function number_format(numeral, decimals, dec_point, thousands_sep) {
var neu = &#039;&#039;;

// Korrektur bei negativer Zahl, Teil 1
var negativ = &#039;&#039;;
if(numeral  0 ? 1: -1))) / f;

// Komma ermittlen
var idx = numeral.indexOf(&#039;.&#039;);

// fehlende Nullen einfügen
if(idx != -1) {
numeral += (idx == -1 ? &#039;.&#039;: &#039;&#039;) + f.toString().substring(1);
}

// Nachkommastellen ermittlen
idx = numeral.indexOf(&#039;.&#039;);
if(idx == -1) {
idx = numeral.length;
neu = &#039;.00&#039;;
}
else neu = dec_point + numeral.substr(idx + 1, decimals);

// Tausendertrennzeichen
while(idx &gt; 0) {
if(idx - 3 &gt; 0)
neu = thousands_sep + numeral.substring(idx - 3, idx) + neu;
else
neu = numeral.substring(0, idx) + neu;
idx -= 3;
}

// Korrektur bei negativer Zahl, Teil 2
neu =negativ + neu;

return neu;
}</description>
		<content:encoded><![CDATA[<p>Besten Dank fuer diese Funktion. Ich setzte sie ein um Zahlen aus FileMaker Web Companion zu formatieren.</p>
<p>Ich habe das Script noch so korrigiert, dass auch Nachnullen bei Zahlen ohne Dezimalstellen angezeigt werden. Auch das Einfuegen der Tausendermarkierung bei negativen Werten wird jetzt korrekt ausgefuehrt.</p>
<p> function number_format(numeral, decimals, dec_point, thousands_sep) {<br />
var neu = '';</p>
<p>// Korrektur bei negativer Zahl, Teil 1<br />
var negativ = '';<br />
if(numeral  0 ? 1: -1))) / f;</p>
<p>// Komma ermittlen<br />
var idx = numeral.indexOf('.');</p>
<p>// fehlende Nullen einfügen<br />
if(idx != -1) {<br />
numeral += (idx == -1 ? '.': '') + f.toString().substring(1);<br />
}</p>
<p>// Nachkommastellen ermittlen<br />
idx = numeral.indexOf('.');<br />
if(idx == -1) {<br />
idx = numeral.length;<br />
neu = '.00';<br />
}<br />
else neu = dec_point + numeral.substr(idx + 1, decimals);</p>
<p>// Tausendertrennzeichen<br />
while(idx &gt; 0) {<br />
if(idx - 3 &gt; 0)<br />
neu = thousands_sep + numeral.substring(idx - 3, idx) + neu;<br />
else<br />
neu = numeral.substring(0, idx) + neu;<br />
idx -= 3;<br />
}</p>
<p>// Korrektur bei negativer Zahl, Teil 2<br />
neu =negativ + neu;</p>
<p>return neu;<br />
}</p>
]]></content:encoded>
	</item>
	<item>
		<title>Von: atlan428</title>
		<link>http://javascript.jstruebig.de/javascript/37/comment-page-1#comment-19360</link>
		<dc:creator>atlan428</dc:creator>
		<pubDate>Sat, 13 Sep 2008 15:00:56 +0000</pubDate>
		<guid isPermaLink="false">http://jstruebig.de/cms/wordpress/javascript/faq/37/#comment-19360</guid>
		<description>Ich habe deine Funktion mal so umgeschrieben, dass sie gleich mit der PHP-Funktion number_format ist. Dürfte für alle PHP-Entwickler interessant sein.

&lt;code&gt;function number_format(numeral, decimals, dec_point, thousands_sep) {
	var neu = &#039;&#039;;

	// Runden
	var f = Math.pow(10, decimals);
	numeral = &#039;&#039; + parseInt(numeral * f + (.5 * (numeral &gt; 0 ? 1: -1))) / f;

	// Komma ermittlen
	var idx = numeral.indexOf(&#039;.&#039;);

	// fehlende Nullen einfügen
	if(idx != -1) {
		numeral += (idx == -1 ? &#039;.&#039;: &#039;&#039;) + f.toString().substring(1);
	}

	// Nachkommastellen ermittlen
	idx = numeral.indexOf(&#039;.&#039;);
	if(idx == -1) idx = numeral.length;
	else neu = dec_point + numeral.substr(idx + 1, decimals);

	// Tausendertrennzeichen
	while(idx &gt; 0) {
		if(idx - 3 &gt; 0)
		neu = thousands_sep + numeral.substring(idx - 3, idx) + neu;
		else
		neu = numeral.substring(0, idx) + neu;
		idx -= 3;
	}

	return neu;
}&lt;/code&gt;</description>
		<content:encoded><![CDATA[<p>Ich habe deine Funktion mal so umgeschrieben, dass sie gleich mit der PHP-Funktion number_format ist. Dürfte für alle PHP-Entwickler interessant sein.</p>
<p><code>function number_format(numeral, decimals, dec_point, thousands_sep) {<br />
	var neu = '';</code></p>
<p>	// Runden<br />
	var f = Math.pow(10, decimals);<br />
	numeral = '' + parseInt(numeral * f + (.5 * (numeral &gt; 0 ? 1: -1))) / f;</p>
<p>	// Komma ermittlen<br />
	var idx = numeral.indexOf('.');</p>
<p>	// fehlende Nullen einfügen<br />
	if(idx != -1) {<br />
		numeral += (idx == -1 ? '.': '') + f.toString().substring(1);<br />
	}</p>
<p>	// Nachkommastellen ermittlen<br />
	idx = numeral.indexOf('.');<br />
	if(idx == -1) idx = numeral.length;<br />
	else neu = dec_point + numeral.substr(idx + 1, decimals);</p>
<p>	// Tausendertrennzeichen<br />
	while(idx &gt; 0) {<br />
		if(idx - 3 &gt; 0)<br />
		neu = thousands_sep + numeral.substring(idx - 3, idx) + neu;<br />
		else<br />
		neu = numeral.substring(0, idx) + neu;<br />
		idx -= 3;<br />
	}</p>
<p>	return neu;<br />
}</p>
]]></content:encoded>
	</item>
	<item>
		<title>Von: Struppi</title>
		<link>http://javascript.jstruebig.de/javascript/37/comment-page-1#comment-19344</link>
		<dc:creator>Struppi</dc:creator>
		<pubDate>Wed, 23 Jul 2008 10:36:18 +0000</pubDate>
		<guid isPermaLink="false">http://jstruebig.de/cms/wordpress/javascript/faq/37/#comment-19344</guid>
		<description>Dann musst du dies in deinem Skript entsprechend umwandeln. Es ist klar, dass der Rückgabewert der Funktion ein String ist, mit dem du nicht rechnen kannst (und auch nicht diese Funktion aufrufen).</description>
		<content:encoded><![CDATA[<p>Dann musst du dies in deinem Skript entsprechend umwandeln. Es ist klar, dass der Rückgabewert der Funktion ein String ist, mit dem du nicht rechnen kannst (und auch nicht diese Funktion aufrufen).</p>
]]></content:encoded>
	</item>
	<item>
		<title>Von: mormel</title>
		<link>http://javascript.jstruebig.de/javascript/37/comment-page-1#comment-19343</link>
		<dc:creator>mormel</dc:creator>
		<pubDate>Wed, 23 Jul 2008 09:37:06 +0000</pubDate>
		<guid isPermaLink="false">http://jstruebig.de/cms/wordpress/javascript/faq/37/#comment-19343</guid>
		<description>hmm, natürlich, aber:
ich gebe in ein Formularfeld 1234 ein, dann wird deine Funktion per onblur aufgerfufen und es wird daraus 1.234,00. Gehe ich im Formular zurück und komme wieder in dieses Feld wird beim nächten onblur daraus NaN,00 und das ist nicht so gewollt, oder?

vg mormel</description>
		<content:encoded><![CDATA[<p>hmm, natürlich, aber:<br />
ich gebe in ein Formularfeld 1234 ein, dann wird deine Funktion per onblur aufgerfufen und es wird daraus 1.234,00. Gehe ich im Formular zurück und komme wieder in dieses Feld wird beim nächten onblur daraus NaN,00 und das ist nicht so gewollt, oder?</p>
<p>vg mormel</p>
]]></content:encoded>
	</item>
	<item>
		<title>Von: Struppi</title>
		<link>http://javascript.jstruebig.de/javascript/37/comment-page-1#comment-19342</link>
		<dc:creator>Struppi</dc:creator>
		<pubDate>Wed, 23 Jul 2008 09:20:41 +0000</pubDate>
		<guid isPermaLink="false">http://jstruebig.de/cms/wordpress/javascript/faq/37/#comment-19342</guid>
		<description>Das ist kein Fehler, du musst natürlich eine Zahl eingeben 1.234,00 ist ein String, das Komma ist in JS (und allen anderen Programmiersprachen) ein Punkt</description>
		<content:encoded><![CDATA[<p>Das ist kein Fehler, du musst natürlich eine Zahl eingeben 1.234,00 ist ein String, das Komma ist in JS (und allen anderen Programmiersprachen) ein Punkt</p>
]]></content:encoded>
	</item>
	<item>
		<title>Von: mormel</title>
		<link>http://javascript.jstruebig.de/javascript/37/comment-page-1#comment-19341</link>
		<dc:creator>mormel</dc:creator>
		<pubDate>Wed, 23 Jul 2008 09:10:22 +0000</pubDate>
		<guid isPermaLink="false">http://jstruebig.de/cms/wordpress/javascript/faq/37/#comment-19341</guid>
		<description>hi struppi,

danke für deine funktion, nur gibt es noch einen fehler:

aus 1.234,00 oder auch 0,00 wird NaN,00

vg mormel</description>
		<content:encoded><![CDATA[<p>hi struppi,</p>
<p>danke für deine funktion, nur gibt es noch einen fehler:</p>
<p>aus 1.234,00 oder auch 0,00 wird NaN,00</p>
<p>vg mormel</p>
]]></content:encoded>
	</item>
	<item>
		<title>Von: Struppi</title>
		<link>http://javascript.jstruebig.de/javascript/37/comment-page-1#comment-18551</link>
		<dc:creator>Struppi</dc:creator>
		<pubDate>Sun, 11 May 2008 10:25:39 +0000</pubDate>
		<guid isPermaLink="false">http://jstruebig.de/cms/wordpress/javascript/faq/37/#comment-18551</guid>
		<description>Ja würe es, wenn es richtig Runden würde und wenn es auch die tausender Stellen formatieren würde. Probier mal z.b. 1202.955 mit toFixed() aus (zumindest FF und OP rundet das falsch [1202.95]).</description>
		<content:encoded><![CDATA[<p>Ja würe es, wenn es richtig Runden würde und wenn es auch die tausender Stellen formatieren würde. Probier mal z.b. 1202.955 mit toFixed() aus (zumindest FF und OP rundet das falsch [1202.95]).</p>
]]></content:encoded>
	</item>
	<item>
		<title>Von: Opmil</title>
		<link>http://javascript.jstruebig.de/javascript/37/comment-page-1#comment-18533</link>
		<dc:creator>Opmil</dc:creator>
		<pubDate>Sat, 10 May 2008 09:47:09 +0000</pubDate>
		<guid isPermaLink="false">http://jstruebig.de/cms/wordpress/javascript/faq/37/#comment-18533</guid>
		<description>Hallo

Wäre toFixed() nicht einfacher?
http://de.selfhtml.org/javascript/objekte/number.htm#to_fixed</description>
		<content:encoded><![CDATA[<p>Hallo</p>
<p>Wäre toFixed() nicht einfacher?<br />
<a href="http://de.selfhtml.org/javascript/objekte/number.htm#to_fixed" rel="nofollow">http://de.selfhtml.org/javascript/objekte/number.htm#to_fixed</a></p>
]]></content:encoded>
	</item>
</channel>
</rss>

