<?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[float&#x2F;double &amp;lt;-&amp;gt; string verlustbehaftet?]]></title><description><![CDATA[<p>Hi<br />
Bekomme ich eine leicht andere Zahl wenn ich in beide Richtungen umwandle? <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 />
danke</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/244512/float-double-lt-gt-string-verlustbehaftet</link><generator>RSS for Node</generator><lastBuildDate>Sat, 19 Sep 2026 00:26:46 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/244512.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 01 Jul 2009 10:03:39 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to float&#x2F;double &amp;lt;-&amp;gt; string verlustbehaftet? on Wed, 01 Jul 2009 10:03:39 GMT]]></title><description><![CDATA[<p>Hi<br />
Bekomme ich eine leicht andere Zahl wenn ich in beide Richtungen umwandle? <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 />
danke</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1735448</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1735448</guid><dc:creator><![CDATA[blubberfisch]]></dc:creator><pubDate>Wed, 01 Jul 2009 10:03:39 GMT</pubDate></item><item><title><![CDATA[Reply to float&#x2F;double &amp;lt;-&amp;gt; string verlustbehaftet? on Wed, 01 Jul 2009 10:09:33 GMT]]></title><description><![CDATA[<p>Möglich. Hängt auch davon ab, wie genau du den umwandelnden Stream einstellst.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1735453</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1735453</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Wed, 01 Jul 2009 10:09:33 GMT</pubDate></item><item><title><![CDATA[Reply to float&#x2F;double &amp;lt;-&amp;gt; string verlustbehaftet? on Wed, 01 Jul 2009 10:13:34 GMT]]></title><description><![CDATA[<p>Nexus schrieb:</p>
<blockquote>
<p>Möglich. Hängt auch davon ab, wie genau du den umwandelnden Stream einstellst.</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 />
ich nehm istringstream und hab keine Ahnung was da einzustellen wäre...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1735456</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1735456</guid><dc:creator><![CDATA[blubberfisch]]></dc:creator><pubDate>Wed, 01 Jul 2009 10:13:34 GMT</pubDate></item><item><title><![CDATA[Reply to float&#x2F;double &amp;lt;-&amp;gt; string verlustbehaftet? on Wed, 01 Jul 2009 10:15:56 GMT]]></title><description><![CDATA[<p>Zum Beispiel <code>precision()</code> . Schau mal hier: <a href="http://www.cplusplus.com/reference/iostream/stringstream/" rel="nofollow">http://www.cplusplus.com/reference/iostream/stringstream/</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1735460</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1735460</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Wed, 01 Jul 2009 10:15:56 GMT</pubDate></item><item><title><![CDATA[Reply to float&#x2F;double &amp;lt;-&amp;gt; string verlustbehaftet? on Wed, 01 Jul 2009 10:17:41 GMT]]></title><description><![CDATA[<p>Ja - rein von der Mathematik her, ist es nicht möglich aus jeder endlichen Dezimalzahl eine Zahl mit einer endlichen Binärdarstellung zu machen. Umgekehrt geht es schon. Wenn Du also als Quelle einen String hast: z.B.: &quot;0.1&quot; so bekommst Du nur eine Näherung, wenn man daraus einen float/double machst. Rückwärts geht es dann zwar genau, aber das Ergebnis ist nicht mehr &quot;0.1&quot; sondern so irgendwas mit &quot;0.0999..9995&quot;.</p>
<p>Das kann man auch nicht mit long double oder 'ganz long double' beheben. Es ist system-gegeben.</p>
<p>In der Praxis macht man es so, dass man bei der Ausgabe eines double/float-Typs die Anzahl Dezimalstellen nach der Genauigkeit des jeweiligen Datentyp wählt (z.B.:</p>
<pre><code class="language-cpp">std::numeric_limits&lt; double &gt;::digits10 + 1
</code></pre>
<p>) und diese Zahl wieder einliest, das wird in jedem Fall korrekt gerundet und man sollte die selbe Zahl wieder erhalten.</p>
<p>Gruß<br />
Werner</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1735463</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1735463</guid><dc:creator><![CDATA[Werner Salomon]]></dc:creator><pubDate>Wed, 01 Jul 2009 10:17:41 GMT</pubDate></item><item><title><![CDATA[Reply to float&#x2F;double &amp;lt;-&amp;gt; string verlustbehaftet? on Wed, 01 Jul 2009 10:22:09 GMT]]></title><description><![CDATA[<p>Sehr aufschlussreich. Danke.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1735467</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1735467</guid><dc:creator><![CDATA[blubberfisch]]></dc:creator><pubDate>Wed, 01 Jul 2009 10:22:09 GMT</pubDate></item><item><title><![CDATA[Reply to float&#x2F;double &amp;lt;-&amp;gt; string verlustbehaftet? on Wed, 01 Jul 2009 10:25:42 GMT]]></title><description><![CDATA[<p>ich kapier den Unterschied zwischen digits10 und digits nicht <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="😞"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1735471</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1735471</guid><dc:creator><![CDATA[blubberfisch]]></dc:creator><pubDate>Wed, 01 Jul 2009 10:25:42 GMT</pubDate></item><item><title><![CDATA[Reply to float&#x2F;double &amp;lt;-&amp;gt; string verlustbehaftet? on Wed, 01 Jul 2009 10:31:31 GMT]]></title><description><![CDATA[<p>blubberfisch schrieb:</p>
<blockquote>
<p>ich kapier den Unterschied zwischen digits10 und digits nicht <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="😞"
    /></p>
</blockquote>
<p>aus dem Standard - Kapitel 18.2.1 Numeric Limits:</p>
<pre><code>static const int digits;
6 Number of radix digits that can be represented without change.
7 For built-in integer types, the number of non-sign bits in the representation.
8 For floating point types, the number of radix digits in the mantissa.183)
static const int digits10;
9 Number of base 10 digits that can be represented without change.184)
10 Meaningful for all specializations in which is_bounded != false.

Fußnoten:
183) Equivalent to FLT_MANT_DIG, DBL_MANT_DIG, LDBL_MANT_DIG.
184) Equivalent to FLT_DIG, DBL_DIG, LDBL_DIG.
</code></pre>
<p>digits ist die Anzahl der Zeichen in Binärdarstellung, digits10 die in Dezimaldarstellung.</p>
<p>Gruß<br />
Werner</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1735477</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1735477</guid><dc:creator><![CDATA[Werner Salomon]]></dc:creator><pubDate>Wed, 01 Jul 2009 10:31:31 GMT</pubDate></item></channel></rss>