<?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[Probleme mit Nachkommastellen bei float]]></title><description><![CDATA[<p>Hi @all!</p>
<p>Ich habe folgenden Code. Das Problem: Der der Grundstückspreis wird immer nur ohne Nachkommastellen ausgegeben. <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="😞"
    /> Kann mir da jemand helfen? Danke!</p>
<pre><code>#include &lt;iostream&gt;

using namespace std;

// Variablen deklarieren und inizialisieren
int laenge = 0;
int breite = 0;
int qm = 0;
float preis = 0;
float g_preis = 0;

// Programmstart
int main()
{
    // Eingabe der Länge
    do
    {
        cout &lt;&lt; &quot;Bitte geben Sie die Laenge des Grundstuecks in ganzen Metern ein: &quot;;
        cin &gt;&gt; laenge;
    }
    while (laenge == 0);

    cout &lt;&lt; &quot;Danke.&quot; &lt;&lt; endl;

    // Eingabe der Breite
    do
    {
        cout &lt;&lt; &quot;Bitte geben Sie die Breite des Grundstuecks in ganzen Metern ein: &quot;;
        cin &gt;&gt; breite;
    }
    while(breite == 0);

    cout &lt;&lt; &quot;Danke.&quot; &lt;&lt; endl;

    // Eingabe des Preises pro Quadratmeter
    do
    {
        cout &lt;&lt; &quot;Bitte geben Sie den Preis pro Quadratmeter in Euro und Cent ein: &quot;;
        cin &gt;&gt; preis;
    }
    while (preis == 0.0);

    // Berechnung der Grundstückpreises
    qm = laenge * breite;
    g_preis = static_cast&lt;float&gt;(qm) * preis;

    // Ausgabe des Grundstückpreises
    cout &lt;&lt; &quot;Das Grundstueck hat eine Groesse von &quot; &lt;&lt; qm &lt;&lt; &quot;qm.&quot; &lt;&lt; endl;
    cout &lt;&lt; &quot;Die Kosten belaufen sich auf &quot; &lt;&lt; g_preis &lt;&lt; &quot;Euro.&quot; &lt;&lt; endl;

    // Programm Ende
    return 0;
}
</code></pre>
<p>Grüße<br />
Ralph Hoffmann</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/330815/probleme-mit-nachkommastellen-bei-float</link><generator>RSS for Node</generator><lastBuildDate>Thu, 02 Jul 2026 18:23:25 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/330815.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 26 Jan 2015 19:08:23 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Probleme mit Nachkommastellen bei float on Mon, 26 Jan 2015 19:08:23 GMT]]></title><description><![CDATA[<p>Hi @all!</p>
<p>Ich habe folgenden Code. Das Problem: Der der Grundstückspreis wird immer nur ohne Nachkommastellen ausgegeben. <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="😞"
    /> Kann mir da jemand helfen? Danke!</p>
<pre><code>#include &lt;iostream&gt;

using namespace std;

// Variablen deklarieren und inizialisieren
int laenge = 0;
int breite = 0;
int qm = 0;
float preis = 0;
float g_preis = 0;

// Programmstart
int main()
{
    // Eingabe der Länge
    do
    {
        cout &lt;&lt; &quot;Bitte geben Sie die Laenge des Grundstuecks in ganzen Metern ein: &quot;;
        cin &gt;&gt; laenge;
    }
    while (laenge == 0);

    cout &lt;&lt; &quot;Danke.&quot; &lt;&lt; endl;

    // Eingabe der Breite
    do
    {
        cout &lt;&lt; &quot;Bitte geben Sie die Breite des Grundstuecks in ganzen Metern ein: &quot;;
        cin &gt;&gt; breite;
    }
    while(breite == 0);

    cout &lt;&lt; &quot;Danke.&quot; &lt;&lt; endl;

    // Eingabe des Preises pro Quadratmeter
    do
    {
        cout &lt;&lt; &quot;Bitte geben Sie den Preis pro Quadratmeter in Euro und Cent ein: &quot;;
        cin &gt;&gt; preis;
    }
    while (preis == 0.0);

    // Berechnung der Grundstückpreises
    qm = laenge * breite;
    g_preis = static_cast&lt;float&gt;(qm) * preis;

    // Ausgabe des Grundstückpreises
    cout &lt;&lt; &quot;Das Grundstueck hat eine Groesse von &quot; &lt;&lt; qm &lt;&lt; &quot;qm.&quot; &lt;&lt; endl;
    cout &lt;&lt; &quot;Die Kosten belaufen sich auf &quot; &lt;&lt; g_preis &lt;&lt; &quot;Euro.&quot; &lt;&lt; endl;

    // Programm Ende
    return 0;
}
</code></pre>
<p>Grüße<br />
Ralph Hoffmann</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2439898</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2439898</guid><dc:creator><![CDATA[Ralph Hoffmann]]></dc:creator><pubDate>Mon, 26 Jan 2015 19:08:23 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme mit Nachkommastellen bei float on Mon, 26 Jan 2015 19:13:04 GMT]]></title><description><![CDATA[<p>Wieso sollte man für eine diskrete Größe wie Geld einen pseudo-kontinuierlichen und ungenauen Datentyp wie float benutzen? Der für deine Zwecke richtige Datentyp heißt int, die Einheit Cent.</p>
<p>Edit: Aber allgemein kannst du die Zahl der Nachkommastellen bei der Ausgabe mit dem IO-Manipulator setprecision() und dem fixed-Flag steuern.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2439899</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2439899</guid><dc:creator><![CDATA[Jodocus]]></dc:creator><pubDate>Mon, 26 Jan 2015 19:13:04 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme mit Nachkommastellen bei float on Mon, 26 Jan 2015 19:33:17 GMT]]></title><description><![CDATA[<p>Danke für die schnelle Antwort....warum ich das so mache? Weil die Übungsaufgabe so gestellt wurde <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>Ich stehe mit meinen C++ Kenntnissen ganz am Anfang. Die Aufgabe gibt vor, die Länge und Breite eines Grundstücks in Ganzzahlen eingeben zu können. Beim Preis pro Quadratmeter und dem Grundstückspreis sollen die Nachkommastellen Berücksichtigung finden.</p>
<p>Ich schätze es soll der Umgang mit static_cast geprüft werden.</p>
<p>Was bitte ist: IO-Manipulator setprecision() und der fixed-Flag <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>Grüße<br />
Ralph Hoffmann</p>
<p>EDIT: Jetzt funktioniert es....ich weiß nicht warum...aber das kommt vielleicht noch.... <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/2439901</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2439901</guid><dc:creator><![CDATA[Ralph Hoffmann]]></dc:creator><pubDate>Mon, 26 Jan 2015 19:33:17 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme mit Nachkommastellen bei float on Mon, 26 Jan 2015 19:34:55 GMT]]></title><description><![CDATA[<p>Die Standardausgabe bei Fließkommazahlen (float, double) sollte 6 Nachkommastellen umfassen.<br />
Ich tippe darauf, daß du ein Komma anstatt eines Punktes beim Preis eingegeben hast - C++ kennt standardmäßig nur die (amerikanisch-)englische Ein- und Ausgabe:</p>
<pre><code>3.14
</code></pre>
<p>Edit: 3x &quot;Komma&quot; falsch geschrieben...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2439905</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2439905</guid><dc:creator><![CDATA[Th69]]></dc:creator><pubDate>Mon, 26 Jan 2015 19:34:55 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme mit Nachkommastellen bei float on Mon, 26 Jan 2015 19:38:06 GMT]]></title><description><![CDATA[<p>Ralph Hoffmann schrieb:</p>
<blockquote>
<p>Danke für die schnelle Antwort....warum ich das so mache? Weil die Übungsaufgabe so gestellt wurde <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>Ich stehe mit meinen C++ Kenntnissen ganz am Anfang. Die Aufgabe gibt vor, die Länge und Breite eines Grundstücks in Ganzzahlen eingeben zu können. Beim Preis pro Quadratmeter und dem Grundstückspreis sollen die Nachkommastellen Berücksichtigung finden.</p>
<p>Ich schätze es soll der Umgang mit static_cast geprüft werden.</p>
<p>Was bitte ist: IO-Manipulator setprecision() und der fixed-Flag <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>Grüße<br />
Ralph Hoffmann</p>
<p>EDIT: Jetzt funktioniert es....ich weiß nicht warum...aber das kommt vielleicht noch.... <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>
</blockquote>
<p>Genau die werden berücksichtigst, wenn du in Cents rechnest. Es ergibt 0 Sinn, float oder double für Geld zu benutzen, denn wenn's ums Geld geht, will man exakt sein, float ist nicht exakt. Ich würde es auch nicht tun, wenn es nicht explizit in der Aufgabe steht, float zu benutzen. Nachkommastellen kannst du auch ausgeben, wenn du die Cents in der Ausgabe in Euro und float darstellst (und da dein geschätztes static_cast machst), nicht aber schon während der Rechnung, wo Rundungsfehler etc. auftreten.</p>
<p>Wie man setprecision benutzt kannst du Google fragen. Es gibt genug Codebeispiele.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2439906</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2439906</guid><dc:creator><![CDATA[Jodocus]]></dc:creator><pubDate>Mon, 26 Jan 2015 19:38:06 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme mit Nachkommastellen bei float on Tue, 27 Jan 2015 07:35:10 GMT]]></title><description><![CDATA[<p>Jodocus schrieb:</p>
<blockquote>
<p>Wie man setprecision benutzt kannst du Google fragen. Es gibt genug Codebeispiele.</p>
</blockquote>
<p>.. man kann es Ralph aber auch einfach zeigen wie es geht:</p>
<p>Ändere Zeile 50 nach</p>
<pre><code>cout &lt;&lt; &quot;Die Kosten belaufen sich auf &quot; &lt;&lt; fixed &lt;&lt; setprecision(2) &lt;&lt; g_preis &lt;&lt; &quot;Euro.&quot; &lt;&lt; endl;
</code></pre>
<p>und inkludiere zusätzlich ' <code>#include &lt;iomanip&gt;</code> '.</p>
<p>siehe dazu <a href="http://www.cplusplus.com/reference/iomanip/setprecision/" rel="nofollow">http://www.cplusplus.com/reference/iomanip/setprecision/</a> und <a href="http://www.cplusplus.com/reference/ios/fixed/" rel="nofollow">http://www.cplusplus.com/reference/ios/fixed/</a>.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2439945</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2439945</guid><dc:creator><![CDATA[Werner Salomon]]></dc:creator><pubDate>Tue, 27 Jan 2015 07:35:10 GMT</pubDate></item></channel></rss>