<?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[Nachkommastellen auslesen#2]]></title><description><![CDATA[<p>Hio...<br />
Muha heute bin ich aber im Postmarathon <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="😃"
    /><br />
Ich sitze hier, wie so oft wenn jemand hier fragt, vor einem Problem.<br />
Ich brauche die Nachkommastellen eines floates(oder double).<br />
Da dachte ich mir, ohne gleich eine komplizierte Funktion (wieich sie hier schonmal gefunden hatte) zu schreiben/nehmen die das ganze in einen String umwandelt oder eine zusätzlichen Header zu verwenden: schreibse deine eigene Funktion.<br />
Die sieht so aus:</p>
<pre><code class="language-cpp">int CntComma;
    float test = 4252.1001;
    const float maxFloat = 3.4e+38; //ok, so ne Zahl zu verwenden isn bissel krass, aber ich denke ich werde nie eine so große Zahl übergeben und wollt mit der Funktion wirklich alles abdecken
    for (int i = 0;i &lt;= maxFloat; i++)
    {
        int temp;
        test = test*10;
        temp = test;
        CntComma++;
        if (temp == test) break;
    }
</code></pre>
<p>Durch das Malnehmen mit 10 wird das Komma verschoben, wenn das Ganze gleich eines integers (der ja rundet) ist :break; CntComma zählt dann die Nachkommastellen.<br />
Hab das Ganze nun schon mit vielen Möglichkeiten durchprobiert, alles ging, bis auf die Möglichkeit die ich oben als FLoatwert gewählt habe. Das Problem ist: der FLoat rundet eine solche Zahl von sich aus schon und so hab ich nur eine Kommstelle.</p>
<p>Einer ne Idee, ohne dass ich den Floatwert in einen String packe und den dann wie ein Array durchgehe?</p>
<p>p.s. hatte so nen thread schonmal aufgemacht und bisher die dortdrin genannte Funktion benutzt nur wollt ich die jetzt selber schreiben <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>
]]></description><link>https://www.c-plusplus.net/forum/topic/173866/nachkommastellen-auslesen-2</link><generator>RSS for Node</generator><lastBuildDate>Fri, 18 Sep 2026 12:58:11 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/173866.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 20 Feb 2007 17:21:13 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Nachkommastellen auslesen#2 on Tue, 20 Feb 2007 17:22:56 GMT]]></title><description><![CDATA[<p>Hio...<br />
Muha heute bin ich aber im Postmarathon <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="😃"
    /><br />
Ich sitze hier, wie so oft wenn jemand hier fragt, vor einem Problem.<br />
Ich brauche die Nachkommastellen eines floates(oder double).<br />
Da dachte ich mir, ohne gleich eine komplizierte Funktion (wieich sie hier schonmal gefunden hatte) zu schreiben/nehmen die das ganze in einen String umwandelt oder eine zusätzlichen Header zu verwenden: schreibse deine eigene Funktion.<br />
Die sieht so aus:</p>
<pre><code class="language-cpp">int CntComma;
    float test = 4252.1001;
    const float maxFloat = 3.4e+38; //ok, so ne Zahl zu verwenden isn bissel krass, aber ich denke ich werde nie eine so große Zahl übergeben und wollt mit der Funktion wirklich alles abdecken
    for (int i = 0;i &lt;= maxFloat; i++)
    {
        int temp;
        test = test*10;
        temp = test;
        CntComma++;
        if (temp == test) break;
    }
</code></pre>
<p>Durch das Malnehmen mit 10 wird das Komma verschoben, wenn das Ganze gleich eines integers (der ja rundet) ist :break; CntComma zählt dann die Nachkommastellen.<br />
Hab das Ganze nun schon mit vielen Möglichkeiten durchprobiert, alles ging, bis auf die Möglichkeit die ich oben als FLoatwert gewählt habe. Das Problem ist: der FLoat rundet eine solche Zahl von sich aus schon und so hab ich nur eine Kommstelle.</p>
<p>Einer ne Idee, ohne dass ich den Floatwert in einen String packe und den dann wie ein Array durchgehe?</p>
<p>p.s. hatte so nen thread schonmal aufgemacht und bisher die dortdrin genannte Funktion benutzt nur wollt ich die jetzt selber schreiben <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>
]]></description><link>https://www.c-plusplus.net/forum/post/1232135</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1232135</guid><dc:creator><![CDATA[Pille456]]></dc:creator><pubDate>Tue, 20 Feb 2007 17:22:56 GMT</pubDate></item><item><title><![CDATA[Reply to Nachkommastellen auslesen#2 on Tue, 20 Feb 2007 22:25:47 GMT]]></title><description><![CDATA[<p>Wenn ich Dich richtig verstehe, möchtest Du die Anzahl der Nachkommastellen einer Zahl in Dezimaldarstellung bestimmen. Wozu soll das gut sein? Was soll denn bei z.B. bei 1/3 rauskommen?</p>
<p>Beachte bitte, dass ein Wert wie 0,1 (dezimal) im Binär-System als 0,0 0011 0011 0011 .. usw. dargestellt wird. Die Ausgabe der Zahl als '0.1' geht nur über Runden.</p>
<p>Gruß<br />
Werner</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1232335</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1232335</guid><dc:creator><![CDATA[Werner Salomon]]></dc:creator><pubDate>Tue, 20 Feb 2007 22:25:47 GMT</pubDate></item><item><title><![CDATA[Reply to Nachkommastellen auslesen#2 on Wed, 21 Feb 2007 06:48:59 GMT]]></title><description><![CDATA[<p>Sorry aber die zu lösende Aufgabe ist total sinnfrei.<br />
Jede Fließkommazahl hat theoretisch unendlich viele Nachkommastellen ( 1.0000000...)<br />
Und welche Aussage kannst du Anhand der Anzahl der Nachkommasetllen über die Zahl treffen?</p>
<p>Also ich würde die Zahl in nen String packen, bis zum Komma abschneiden und dann die Länge isses.<br />
Aber wie gesagt, total sinnfrei.</p>
<p>Verge</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1232371</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1232371</guid><dc:creator><![CDATA[xivVerge]]></dc:creator><pubDate>Wed, 21 Feb 2007 06:48:59 GMT</pubDate></item><item><title><![CDATA[Reply to Nachkommastellen auslesen#2 on Wed, 21 Feb 2007 16:37:08 GMT]]></title><description><![CDATA[<p>129831928.241202</p>
<p>in string umwandeln<br />
länge von string ermitteln<br />
solange(a[i] != .)<br />
{<br />
neuer string<br />
}</p>
<p>länge vom neuen string</p>
<p>ergebnis = alte stringlänge - neue</p>
<p>solange (b[ergebnis+1])<br />
string nachkommestellen</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1232743</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1232743</guid><dc:creator><![CDATA[Stelfer]]></dc:creator><pubDate>Wed, 21 Feb 2007 16:37:08 GMT</pubDate></item><item><title><![CDATA[Reply to Nachkommastellen auslesen#2 on Wed, 21 Feb 2007 16:46:17 GMT]]></title><description><![CDATA[<p>schau dir doch mal die Klasse <strong>numeric_limits</strong> an. da gibts unzählige methoden die dir alles mögliche über die jeweilige zahl ausspucken.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1232750</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1232750</guid><dc:creator><![CDATA[elvis lebt]]></dc:creator><pubDate>Wed, 21 Feb 2007 16:46:17 GMT</pubDate></item></channel></rss>