<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[double Zahl Periode auflösen]]></title><description><![CDATA[<p>hi zusammen,</p>
<p>ich versuche irgendwie herauszubekommen wie man bspw: 2.23499999...99 auflösen kann. Hier wollte ich, dass es bei dieser Zahl mir 2.23450 ausgibt.<br />
Wie kann man da machen bzw wie erkennt man solch eine Periode?</p>
<p>Danke</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/295208/double-zahl-periode-auflösen</link><generator>RSS for Node</generator><lastBuildDate>Sat, 15 Aug 2026 13:34:57 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/295208.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 09 Nov 2011 09:40:24 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to double Zahl Periode auflösen on Wed, 09 Nov 2011 09:40:24 GMT]]></title><description><![CDATA[<p>hi zusammen,</p>
<p>ich versuche irgendwie herauszubekommen wie man bspw: 2.23499999...99 auflösen kann. Hier wollte ich, dass es bei dieser Zahl mir 2.23450 ausgibt.<br />
Wie kann man da machen bzw wie erkennt man solch eine Periode?</p>
<p>Danke</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2142441</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2142441</guid><dc:creator><![CDATA[Beobachter01]]></dc:creator><pubDate>Wed, 09 Nov 2011 09:40:24 GMT</pubDate></item><item><title><![CDATA[Reply to double Zahl Periode auflösen on Wed, 09 Nov 2011 09:43:48 GMT]]></title><description><![CDATA[<p>Also 2.2345 gibt er doch schon standardmäßig aus. Was willste mehr?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2142446</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2142446</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Wed, 09 Nov 2011 09:43:48 GMT</pubDate></item><item><title><![CDATA[Reply to double Zahl Periode auflösen on Wed, 09 Nov 2011 09:45:12 GMT]]></title><description><![CDATA[<p>Garnicht. Fließkommazahlen haben auf dem Rechner nur eine begrenzte Genauigkeit, das heißt unter Anderem, dass es gar keine periodischen Zahlen gibt.<br />
Dein Beispiel macht so auch keinen rechten Sinn: die beiden neuner am Ende deuten an, dass danach die Zahl zu Ende ist (und damit nicht periodisch), die Punkte deuten an, dass es endlos (periodisch) so weiter geht, so dass man aber nie zu den beiden Neunern am Ende kommt. Was darfs denn nun sein?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2142451</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2142451</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Wed, 09 Nov 2011 09:45:12 GMT</pubDate></item><item><title><![CDATA[Reply to double Zahl Periode auflösen on Wed, 09 Nov 2011 09:52:29 GMT]]></title><description><![CDATA[<p>Floatingpoint-Zahlen sind intern binär dargestellt mit Mantisse und Exponent. Dezimale Perioden x.xxx9999 sind nicht ohne weiteres erkennbar. Du brauchst eine dezimale Rundung mit vorgegebener Anzahl Nachkommastellen. Entweder bietet dein Compiler das oder du lädst von meiner Homepage <a href="http://berniebutt.npage.de" rel="nofollow">http://berniebutt.npage.de</a> die Funktion round herunter.</p>
<p>Oder du benutzt ganz einfach die Streammanipulatoren setw und setprecision. Die tun das für dein Beispiel auch.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2142452</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2142452</guid><dc:creator><![CDATA[berniebutt]]></dc:creator><pubDate>Wed, 09 Nov 2011 09:52:29 GMT</pubDate></item><item><title><![CDATA[Reply to double Zahl Periode auflösen on Wed, 09 Nov 2011 09:54:10 GMT]]></title><description><![CDATA[<p>Das Problem taucht auf wenn ich genau, diese double Zahl vergrößere, und dadurch hat sie einen anderen Wert. Mir ist es schon bewusst, dass die Double Zahlen in ihrer Mantisse nur eine gewisse Größe haben können, aber das löst nicht das Problem.</p>
<p>Gibt es eine Möglichkeit Perioden zu erkennen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2142456</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2142456</guid><dc:creator><![CDATA[Beobachter01]]></dc:creator><pubDate>Wed, 09 Nov 2011 09:54:10 GMT</pubDate></item><item><title><![CDATA[Reply to double Zahl Periode auflösen on Wed, 09 Nov 2011 10:06:11 GMT]]></title><description><![CDATA[<p>Beobachter01 schrieb:</p>
<blockquote>
<p>Gibt es eine Möglichkeit Perioden zu erkennen?</p>
</blockquote>
<p>Ja. Aber auch nur, wenn Du Dich auf eine Ausgabegenauigkeit beschränkst.<br />
So, wie jeder anständige Taschenrechner, der innen zwei mehr Stellen rechnet, als er anzeigt. Täte er das nicht tun, würde er auch dauernd 99999999 oder 0000001 am Ende haben.<br />
Dein Problem ist, daß Du die Stellenanzahl der Ausgabe übertreibst. Sonst nichts.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2142464</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2142464</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Wed, 09 Nov 2011 10:06:11 GMT</pubDate></item><item><title><![CDATA[Reply to double Zahl Periode auflösen on Wed, 09 Nov 2011 10:12:18 GMT]]></title><description><![CDATA[<p>@volkrad<br />
Da hast du Recht, ich muss mich auf eine Ausgabegenauigkeit beschränken. Mit setprecision kann ich es anschließend umsetzten.</p>
<p>Danke euch allen. Grüße</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2142465</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2142465</guid><dc:creator><![CDATA[Beobachter01]]></dc:creator><pubDate>Wed, 09 Nov 2011 10:12:18 GMT</pubDate></item><item><title><![CDATA[Reply to double Zahl Periode auflösen on Wed, 09 Nov 2011 10:31:19 GMT]]></title><description><![CDATA[<p>Nochmals eine Frage,</p>
<p>Die Ausgabe funktioniert zwar mit cout aber kann ich es auch per stringstream zwischenspeichern und wieder einer double zuweisen. setprecision funktioniert hier nicht Ordnungsgemäß.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2142468</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2142468</guid><dc:creator><![CDATA[Beobachter01]]></dc:creator><pubDate>Wed, 09 Nov 2011 10:31:19 GMT</pubDate></item><item><title><![CDATA[Reply to double Zahl Periode auflösen on Wed, 09 Nov 2011 10:45:41 GMT]]></title><description><![CDATA[<p>Beobachter01 schrieb:</p>
<blockquote>
<p>Nochmals eine Frage,</p>
<p>Die Ausgabe funktioniert zwar mit cout aber kann ich es auch per stringstream zwischenspeichern und wieder einer double zuweisen. setprecision funktioniert hier nicht Ordnungsgemäß.</p>
</blockquote>
<p>Haste die Endausgabe des doubles wieder unbeschränkt?<br />
Bedenke, daß nichtmal einfache Zahlen wie 0.1 glatt in einen double passen, weil der im Zweiersystem speichert. Im Zehnersystem ist 0.1 glatt, nur hat der Rechner keine Ahnung davon, für den ist 1/10 so eklig wie für uns 1/7.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2142470</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2142470</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Wed, 09 Nov 2011 10:45:41 GMT</pubDate></item><item><title><![CDATA[Reply to double Zahl Periode auflösen on Wed, 09 Nov 2011 11:12:01 GMT]]></title><description><![CDATA[<p>Ist das immer wieder so schwer? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /> fload und double sind binär - also im Zweiersystem. Der dezimale Wert 0.1 ist binär nicht exakt darstellbar. Der Manipulator setprecision dient nur zur verständlichen Darstellung im Dezimalsystem, an der internen Speicherung ändert sich nichts! Das uns geläufige Dezimalsystem ist ebenfalls willkürlich, weil Menschen an zwei Händen zehn Finger haben. Der Oktopus würde oktal mit 8 rechnen und hätte mit Computern weniger Verständnisschwierigkeiten, weil 8 eine Potenz von 2 ist.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2142478</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2142478</guid><dc:creator><![CDATA[berniebutt]]></dc:creator><pubDate>Wed, 09 Nov 2011 11:12:01 GMT</pubDate></item><item><title><![CDATA[Reply to double Zahl Periode auflösen on Wed, 09 Nov 2011 11:36:21 GMT]]></title><description><![CDATA[<p>Beobachter01 schrieb:</p>
<blockquote>
<p>Die Ausgabe funktioniert zwar mit cout aber kann ich es auch per stringstream zwischenspeichern und wieder einer double zuweisen. setprecision funktioniert hier nicht Ordnungsgemäß.</p>
</blockquote>
<p>cout und stringstream sind beides std::ostream - daran liegt es nicht. Wahrscheinlich wurde <a href="http://www.cplusplus.com/reference/iostream/manipulators/fixed/" rel="nofollow">std::fixed</a> vergessen. Erst mit dieser Einstellung rundet die Ausgabe im ostream auf n <strong>Nachkomma</strong>stellen; ohne fixed nur auf n Stellen.</p>
<pre><code class="language-cpp">double d = 12.23499999;
    cout &lt;&lt; fixed &lt;&lt; setprecision(5) &lt;&lt; endl; // 12.23500
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2142483</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2142483</guid><dc:creator><![CDATA[Werner_logoff]]></dc:creator><pubDate>Wed, 09 Nov 2011 11:36:21 GMT</pubDate></item><item><title><![CDATA[Reply to double Zahl Periode auflösen on Wed, 09 Nov 2011 11:56:44 GMT]]></title><description><![CDATA[<p>Ich setze da standardmässig einmal fixed, floatfield, und showpoínt - und denke nicht weiter nach. Die IO-Stream-Klassen machen das gewünschte.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2142488</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2142488</guid><dc:creator><![CDATA[berniebutt]]></dc:creator><pubDate>Wed, 09 Nov 2011 11:56:44 GMT</pubDate></item></channel></rss>