<?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[Methode zur (speziellen) formatierten Ausgabe für (std::string-)Streams ...]]></title><description><![CDATA[<p>Hali halo <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /> ,<br />
Ich habe folgendes Problem:<br />
Ich möchte eine Variable vom Typ long double in einen std::stringstream schreiben, allerdings so, dass die Zahlenwerte eine bestimmte Anzahl nicht überschreiten, <strong>Beispiel</strong>:</p>
<pre><code class="language-cpp">long double value = 12.34576;
std::stringstream stream;
stream /* &lt;&lt; setXXX(...) */ &lt;&lt; value;
</code></pre>
<p>Dieser Wert (12.34576) soll allerdings maximal 5 Stellen lang sein, also in diesem Beispiel als &quot;12.345&quot; ausgegeben werden. D.h., wenn die Zahl in 'value' beispielsweise 456,1235 wäre, sollte er daraus machen: &quot;456,12&quot;.</p>
<p>Hoffe ihr versteht, was ich meine <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /> . Schonmal danke <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /> !</p>
<p>PS: Habs schon mit std::fixed, std::setprecision und std::setw ausprobiert, aber irgendwie war das Ergebnis nicht zufriedenstellend.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/182515/methode-zur-speziellen-formatierten-ausgabe-für-std-string-streams</link><generator>RSS for Node</generator><lastBuildDate>Wed, 23 Sep 2026 00:09:07 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/182515.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 25 May 2007 19:39:25 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Methode zur (speziellen) formatierten Ausgabe für (std::string-)Streams ... on Fri, 25 May 2007 19:39:25 GMT]]></title><description><![CDATA[<p>Hali halo <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /> ,<br />
Ich habe folgendes Problem:<br />
Ich möchte eine Variable vom Typ long double in einen std::stringstream schreiben, allerdings so, dass die Zahlenwerte eine bestimmte Anzahl nicht überschreiten, <strong>Beispiel</strong>:</p>
<pre><code class="language-cpp">long double value = 12.34576;
std::stringstream stream;
stream /* &lt;&lt; setXXX(...) */ &lt;&lt; value;
</code></pre>
<p>Dieser Wert (12.34576) soll allerdings maximal 5 Stellen lang sein, also in diesem Beispiel als &quot;12.345&quot; ausgegeben werden. D.h., wenn die Zahl in 'value' beispielsweise 456,1235 wäre, sollte er daraus machen: &quot;456,12&quot;.</p>
<p>Hoffe ihr versteht, was ich meine <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /> . Schonmal danke <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /> !</p>
<p>PS: Habs schon mit std::fixed, std::setprecision und std::setw ausprobiert, aber irgendwie war das Ergebnis nicht zufriedenstellend.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1292424</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1292424</guid><dc:creator><![CDATA[Formator]]></dc:creator><pubDate>Fri, 25 May 2007 19:39:25 GMT</pubDate></item><item><title><![CDATA[Reply to Methode zur (speziellen) formatierten Ausgabe für (std::string-)Streams ... on Sat, 26 May 2007 10:25:53 GMT]]></title><description><![CDATA[<p>Hallo<br />
die folgende Funktion verwendet einen ostringstream für diese Problemstellung:</p>
<pre><code class="language-cpp">string zahlToString(double d, unsigned int weite,
        unsigned int format,  // 0: fix, 1: scientific
                              // sonst: automatisch
        unsigned int anzahlNachkommastellen )  {// nur Format 0/1
  ostringstream wandler;
  if(format == 0) {
     wandler.setf(ios::fixed, ios::floatfield);
     if(anzahlNachkommastellen &gt; 0)
         wandler.setf(ios::showpoint);
  }
  else {
     if(format == 1)
        wandler.setf(ios::scientific, ios::floatfield);
  }

  if(format == 0 || format == 1)
     wandler.precision(anzahlNachkommastellen);
  if(weite &gt; 0)
     wandler.width(weite);
  // Zahl und abschließendes Nullzeichen in den Strom einfügen
  wandler &lt;&lt; d &lt;&lt; ends;
  return wandler.str();
}
</code></pre>
<p>Man sieht auch, welche ios-Parameter gesetzt werden. Die Funktion kann für integer-Typen überladen werden:</p>
<pre><code class="language-cpp">string zahlToString(long i, unsigned int weite) {
   return zahlToString(static_cast&lt;double&gt;(i), weite, 0, 0);
}
string zahlToString(int i, unsigned int weite) {
   return zahlToString(static_cast&lt;double&gt;(i), weite, 0, 0);
}
string zahlToString(unsigned long i, unsigned int weite) {
   return zahlToString(static_cast&lt;double&gt;(i), weite, 0, 0);
}
string zahlToString(unsigned int i, unsigned int weite) {
   return zahlToString(static_cast&lt;double&gt;(i), weite, 0, 0);
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1292601</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1292601</guid><dc:creator><![CDATA[UBr]]></dc:creator><pubDate>Sat, 26 May 2007 10:25:53 GMT</pubDate></item><item><title><![CDATA[Reply to Methode zur (speziellen) formatierten Ausgabe für (std::string-)Streams ... on Sat, 26 May 2007 10:28:58 GMT]]></title><description><![CDATA[<p>Nachtrag: std:: fehlt ggf noch, using namespace std; war vorausgesetzt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1292603</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1292603</guid><dc:creator><![CDATA[UBr]]></dc:creator><pubDate>Sat, 26 May 2007 10:28:58 GMT</pubDate></item></channel></rss>