<?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[stringstream &amp;gt;&amp;gt; float -&amp;gt; &amp;quot;2.1&amp;quot; wird zu 2.0999999 ????]]></title><description><![CDATA[<p>Hi,</p>
<p>warum macht er sowas mit mir?</p>
<p>Wenn in dem <em>stringstream</em> &quot;2.1&quot; steht und ich übergebe es an <em>float</em>, dann kommt dabei &quot;2.0999999&quot; raus? Kann mir jemand sagen wieso? <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="😕"
    /></p>
<p>Thx Maffe</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/158002/stringstream-gt-gt-float-gt-quot-2-1-quot-wird-zu-2-0999999</link><generator>RSS for Node</generator><lastBuildDate>Wed, 09 Sep 2026 16:38:43 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/158002.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 31 Aug 2006 12:55:29 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to stringstream &amp;gt;&amp;gt; float -&amp;gt; &amp;quot;2.1&amp;quot; wird zu 2.0999999 ???? on Thu, 31 Aug 2006 12:55:29 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>warum macht er sowas mit mir?</p>
<p>Wenn in dem <em>stringstream</em> &quot;2.1&quot; steht und ich übergebe es an <em>float</em>, dann kommt dabei &quot;2.0999999&quot; raus? Kann mir jemand sagen wieso? <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="😕"
    /></p>
<p>Thx Maffe</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1128380</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1128380</guid><dc:creator><![CDATA[Maffe001]]></dc:creator><pubDate>Thu, 31 Aug 2006 12:55:29 GMT</pubDate></item><item><title><![CDATA[Reply to stringstream &amp;gt;&amp;gt; float -&amp;gt; &amp;quot;2.1&amp;quot; wird zu 2.0999999 ???? on Thu, 31 Aug 2006 13:00:29 GMT]]></title><description><![CDATA[<p>2.1 ist Binär wohl nicht endlich darstellbar. Deshalb wirds halt ungenau.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1128387</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1128387</guid><dc:creator><![CDATA[.filmor]]></dc:creator><pubDate>Thu, 31 Aug 2006 13:00:29 GMT</pubDate></item><item><title><![CDATA[Reply to stringstream &amp;gt;&amp;gt; float -&amp;gt; &amp;quot;2.1&amp;quot; wird zu 2.0999999 ???? on Thu, 31 Aug 2006 13:01:06 GMT]]></title><description><![CDATA[<p>Weil Fließkommazahlen keine absolute Genauigkeit haben. 2.0999999 ist wohl einfach der nächstmögliche Wert in der Nähe von 2.1, den ein float speichern kann.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1128389</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1128389</guid><dc:creator><![CDATA[LordJaxom]]></dc:creator><pubDate>Thu, 31 Aug 2006 13:01:06 GMT</pubDate></item><item><title><![CDATA[Reply to stringstream &amp;gt;&amp;gt; float -&amp;gt; &amp;quot;2.1&amp;quot; wird zu 2.0999999 ???? on Thu, 31 Aug 2006 13:04:16 GMT]]></title><description><![CDATA[<p>Und wie komme ich jetzt wieder auf meine &quot;2.1&quot;? Es ist extrem wichtig, dass genau die Werte rauskommen, die auch eingegeben wurden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1128395</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1128395</guid><dc:creator><![CDATA[Maffe001]]></dc:creator><pubDate>Thu, 31 Aug 2006 13:04:16 GMT</pubDate></item><item><title><![CDATA[Reply to stringstream &amp;gt;&amp;gt; float -&amp;gt; &amp;quot;2.1&amp;quot; wird zu 2.0999999 ???? on Thu, 31 Aug 2006 13:08:03 GMT]]></title><description><![CDATA[<p>als stirng speichern. Und nur, wenn du mit ihnen rechnest in float umwandeln. Oder alternativ gmp oder ähnliche libs nehmen</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1128400</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1128400</guid><dc:creator><![CDATA[Maxi]]></dc:creator><pubDate>Thu, 31 Aug 2006 13:08:03 GMT</pubDate></item><item><title><![CDATA[Reply to stringstream &amp;gt;&amp;gt; float -&amp;gt; &amp;quot;2.1&amp;quot; wird zu 2.0999999 ???? on Thu, 31 Aug 2006 13:08:17 GMT]]></title><description><![CDATA[<p>So hart es klingen mag: Benutze keinen Fließkommatyp (weder float noch double). Manche Sprachen haben einen Decimal-Typ, das wär hier das richtige, guck mal ob du eine Library findest. Sonst selber bauen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1128401</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1128401</guid><dc:creator><![CDATA[Bashar]]></dc:creator><pubDate>Thu, 31 Aug 2006 13:08:17 GMT</pubDate></item><item><title><![CDATA[Reply to stringstream &amp;gt;&amp;gt; float -&amp;gt; &amp;quot;2.1&amp;quot; wird zu 2.0999999 ???? on Thu, 31 Aug 2006 13:13:38 GMT]]></title><description><![CDATA[<p>Tolle Wurst. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /> Erstaunlich, dass ich noch nie darüber etwas gelesen habe.</p>
<p>Danke</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1128407</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1128407</guid><dc:creator><![CDATA[Maffe001]]></dc:creator><pubDate>Thu, 31 Aug 2006 13:13:38 GMT</pubDate></item><item><title><![CDATA[Reply to stringstream &amp;gt;&amp;gt; float -&amp;gt; &amp;quot;2.1&amp;quot; wird zu 2.0999999 ???? on Thu, 31 Aug 2006 13:16:01 GMT]]></title><description><![CDATA[<p>Es gibt eine <a href="http://boost.org/libs/rational/rational.html" rel="nofollow">Boost Bibliothek für rationale Zahlen</a>, die wäre denke ich angebracht. Du musst allerdings den operator&gt;&gt; wohl selber noch so überladen, dass er Kommazahlen akzeptiert, da er sonst nur mit z.B. 21/10 arbeiten würde.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1128410</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1128410</guid><dc:creator><![CDATA[.filmor]]></dc:creator><pubDate>Thu, 31 Aug 2006 13:16:01 GMT</pubDate></item><item><title><![CDATA[Reply to stringstream &amp;gt;&amp;gt; float -&amp;gt; &amp;quot;2.1&amp;quot; wird zu 2.0999999 ???? on Thu, 31 Aug 2006 13:42:12 GMT]]></title><description><![CDATA[<blockquote>
<p>Es ist extrem wichtig, dass genau die Werte rauskommen, die auch eingegeben wurden.</p>
</blockquote>
<p>Warum?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1128444</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1128444</guid><dc:creator><![CDATA[a-df]]></dc:creator><pubDate>Thu, 31 Aug 2006 13:42:12 GMT</pubDate></item><item><title><![CDATA[Reply to stringstream &amp;gt;&amp;gt; float -&amp;gt; &amp;quot;2.1&amp;quot; wird zu 2.0999999 ???? on Thu, 31 Aug 2006 14:30:36 GMT]]></title><description><![CDATA[<p>Als Beispiel für das Warum:</p>
<p>Stell Dir eine Buchhaltungssoftware vor, die mehrfach Werte wie 2.1 verarbeitet und den Debitor irgendwann exakt auf 0 haben muss.</p>
<p>Der Debitor darf nach Ausgleich aller Posten kein Guthaben und keine Schulden haben.</p>
<p>Und so gibt es in dieser Art sicherlich noch mehr Anwendungen die eine solche Genauigkeit benötigen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1128493</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1128493</guid><dc:creator><![CDATA[Knuddlbaer]]></dc:creator><pubDate>Thu, 31 Aug 2006 14:30:36 GMT</pubDate></item><item><title><![CDATA[Reply to stringstream &amp;gt;&amp;gt; float -&amp;gt; &amp;quot;2.1&amp;quot; wird zu 2.0999999 ???? on Thu, 31 Aug 2006 15:11:03 GMT]]></title><description><![CDATA[<p>Knuddlbaer schrieb:</p>
<blockquote>
<p>Als Beispiel für das Warum:</p>
<p>Stell Dir eine Buchhaltungssoftware vor, die mehrfach Werte wie 2.1 verarbeitet und den Debitor irgendwann exakt auf 0 haben muss.</p>
<p>Der Debitor darf nach Ausgleich aller Posten kein Guthaben und keine Schulden haben.</p>
<p>Und so gibt es in dieser Art sicherlich noch mehr Anwendungen die eine solche Genauigkeit benötigen.</p>
</blockquote>
<p>hier sind gleitkommazahlen allerdings von vornherein die falsche wahl. wie der name sagt, ist das komma gleitend, d.h. die anzahl der stellen hinter dem komma hängt direkt mit der größe des wertes zusammen (und zwar auch für dezimal-typen, die dezimalzahlen exakt darstellen können). für den genannten falle ist das aber gerade nicht richtig. In einer Buchhaltungssoftware brauchen wir eine bestimmte Genauigkeit (etwa cent-genau, 1/100-cent-genau) völlig unabhängig von der größe des wertes. die lösung ist hier nat. einfach: benutze integer und stelle von vornherein auf cent oder 1/100-cent usw. ab.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1128535</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1128535</guid><dc:creator><![CDATA[camper]]></dc:creator><pubDate>Thu, 31 Aug 2006 15:11:03 GMT</pubDate></item><item><title><![CDATA[Reply to stringstream &amp;gt;&amp;gt; float -&amp;gt; &amp;quot;2.1&amp;quot; wird zu 2.0999999 ???? on Fri, 01 Sep 2006 07:24:31 GMT]]></title><description><![CDATA[<p>camper schrieb:</p>
<blockquote>
<p>...auch für dezimal-typen, die dezimalzahlen exakt darstellen können ...</p>
</blockquote>
<p><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="😕"
    /><br />
Meinst Du das vielleicht genau andersherum ?<br />
&quot;Dezimalzahlen, die Dezimaltypen exakt darstellen können&quot;, klingt in meinen Ohren jedenfalls sinnvoller.</p>
<p>Gruß,</p>
<p>Simon2.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1128820</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1128820</guid><dc:creator><![CDATA[Simon2]]></dc:creator><pubDate>Fri, 01 Sep 2006 07:24:31 GMT</pubDate></item><item><title><![CDATA[Reply to stringstream &amp;gt;&amp;gt; float -&amp;gt; &amp;quot;2.1&amp;quot; wird zu 2.0999999 ???? on Fri, 01 Sep 2006 11:32:11 GMT]]></title><description><![CDATA[<p>Simon2 schrieb:</p>
<blockquote>
<p>camper schrieb:</p>
<blockquote>
<p>...auch für dezimal-typen, die dezimalzahlen exakt darstellen können ...</p>
</blockquote>
<p>Meinst Du das vielleicht genau andersherum ?<br />
&quot;Dezimalzahlen, die Dezimaltypen exakt darstellen können&quot;, klingt in meinen Ohren jedenfalls sinnvoller.</p>
</blockquote>
<p>ist schon richtig so - typen werden verwendet um zahlen darzustellen, ned andersrum</p>
<p>*edit : *</p>
<p>beispiel:<br />
mit dem typ int kann ich jede integer zahl in wertebereich von int darstellen,</p>
<p>mit der zahl 3 hingegen irgendwelche typen darzustellen ist ned praktisch, und nur schwer abbildbar</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1128978</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1128978</guid><dc:creator><![CDATA[ronny]]></dc:creator><pubDate>Fri, 01 Sep 2006 11:32:11 GMT</pubDate></item><item><title><![CDATA[Reply to stringstream &amp;gt;&amp;gt; float -&amp;gt; &amp;quot;2.1&amp;quot; wird zu 2.0999999 ???? on Fri, 01 Sep 2006 13:34:12 GMT]]></title><description><![CDATA[<p>r0nny schrieb:</p>
<blockquote>
<p>...<br />
ist schon richtig so - typen werden verwendet um zahlen darzustellen, ned andersrum...</p>
</blockquote>
<p>Du &quot;nutzt&quot; hier eine Mehrdeutigkeit in der Deutschen Sprache, wo Nominativ und Akkusativ verwechselbar sind. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
<p>&quot;Marko bringt Karin nachhause.&quot;</p>
<p>Wer ist hinterher zuhause ?<br />
Auf welche Frage ist das die Antwort ?<br />
(&quot;Wer bringt Karin nachhause ?&quot; - &quot;Wen bringt Karin nachhause ?&quot;)</p>
<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
<p>Ich niemals behauptet, dass Typen durch Zahlen darzustellen seien, sondern, dass die Aussage, die camper zu &quot;Fließkommazahlen&quot; getroffen hat (&quot;... Zahlen werden mit Fließkomma dargestellt..&quot;), nicht auf Dezimaltypen, sondern auf (in Fließkommatypen abgebildete) Dezimalzahlen übertragbar ist.</p>
<p>Gruß,</p>
<p>Simon2.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1129104</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1129104</guid><dc:creator><![CDATA[Simon2]]></dc:creator><pubDate>Fri, 01 Sep 2006 13:34:12 GMT</pubDate></item><item><title><![CDATA[Reply to stringstream &amp;gt;&amp;gt; float -&amp;gt; &amp;quot;2.1&amp;quot; wird zu 2.0999999 ???? on Fri, 01 Sep 2006 13:11:53 GMT]]></title><description><![CDATA[<p>Recht hast du. Allerdings ist es üblich davon auszugehen, dass das erste Nomen eines Hauptsatzes das Subjekt ist.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1129109</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1129109</guid><dc:creator><![CDATA[.filmor]]></dc:creator><pubDate>Fri, 01 Sep 2006 13:11:53 GMT</pubDate></item><item><title><![CDATA[Reply to stringstream &amp;gt;&amp;gt; float -&amp;gt; &amp;quot;2.1&amp;quot; wird zu 2.0999999 ???? on Fri, 01 Sep 2006 13:39:03 GMT]]></title><description><![CDATA[<p>.filmor schrieb:</p>
<blockquote>
<p>Recht hast du. Allerdings ist es üblich davon auszugehen, dass das erste Nomen eines Hauptsatzes das Subjekt ist.</p>
</blockquote>
<p>Gleichzeitig ist es aber auch üblich, besonders betonte Satzteile (wenn grammatisch möglich) nach vorne im Satz zu ziehen. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
<p>Nichtsdestotrotz bleibt meine Frage (an camper) noch unbeantwortet, ob ich ihn richtig verstanden habe, oder er das doch ganz anders meint.<br />
Verstanden habe ich: &quot;Selbst die Zahl 2 läuft (in einem float dargestellt), Gefahr, von Rundungsfehlern betroffen zu werden; in einem int dagegen kann das nicht passieren.&quot;</p>
<p>Gruß,</p>
<p>Simon2.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1129154</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1129154</guid><dc:creator><![CDATA[Simon2]]></dc:creator><pubDate>Fri, 01 Sep 2006 13:39:03 GMT</pubDate></item><item><title><![CDATA[Reply to stringstream &amp;gt;&amp;gt; float -&amp;gt; &amp;quot;2.1&amp;quot; wird zu 2.0999999 ???? on Sat, 02 Sep 2006 14:29:13 GMT]]></title><description><![CDATA[<p>Simon2 schrieb:</p>
<blockquote>
<p>Selbst die Zahl 2 läuft (in einem float dargestellt), Gefahr, von Rundungsfehlern betroffen zu werden;</p>
</blockquote>
<p>Ein unschönes Beispiel, da 2 (normalerweise) die Basis von floats ist und deshalb exakt dargestellt werden kann. Für 3 gilt der Satz aber afaik.</p>
<p>Simon2 schrieb:</p>
<blockquote>
<p>in einem int dagegen kann das nicht passieren.</p>
</blockquote>
<p>Das stimmt, denn bei Integern hast du eine bijektive(?) Zuordnung.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1129680</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1129680</guid><dc:creator><![CDATA[.filmor]]></dc:creator><pubDate>Sat, 02 Sep 2006 14:29:13 GMT</pubDate></item><item><title><![CDATA[Reply to stringstream &amp;gt;&amp;gt; float -&amp;gt; &amp;quot;2.1&amp;quot; wird zu 2.0999999 ???? on Sat, 02 Sep 2006 21:27:15 GMT]]></title><description><![CDATA[<p>Wenn du mit rationalen Zahlen arbeitest (als Zahlen die als Bruch darstellbar sind) dann gibt es Bibliotheken die die ohne Genauigkeitsverlust brechnen können. (Beispiel: GMP, <a href="http://www.dhost.info/voodoocpp/index.php?page=progs/libs" rel="nofollow">http://www.dhost.info/voodoocpp/index.php?page=progs/libs</a>).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1129921</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1129921</guid><dc:creator><![CDATA[Ben04]]></dc:creator><pubDate>Sat, 02 Sep 2006 21:27:15 GMT</pubDate></item></channel></rss>