<?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[String in eine Kommazahl konvertieren]]></title><description><![CDATA[<p>Hallo,<br />
wollte frag wie ich einen String (12,3) in eine float Zahl konvertieren kann um sie dann dividieren zu können? Hat jemand ein Quelltextbeispiel?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/164516/string-in-eine-kommazahl-konvertieren</link><generator>RSS for Node</generator><lastBuildDate>Sun, 13 Sep 2026 23:26:27 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/164516.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 09 Nov 2006 09:14:39 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to String in eine Kommazahl konvertieren on Thu, 09 Nov 2006 09:14:39 GMT]]></title><description><![CDATA[<p>Hallo,<br />
wollte frag wie ich einen String (12,3) in eine float Zahl konvertieren kann um sie dann dividieren zu können? Hat jemand ein Quelltextbeispiel?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1171581</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1171581</guid><dc:creator><![CDATA[Hausmaus]]></dc:creator><pubDate>Thu, 09 Nov 2006 09:14:39 GMT</pubDate></item><item><title><![CDATA[Reply to String in eine Kommazahl konvertieren on Thu, 09 Nov 2006 09:18:58 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">float zahl = boost::lexical_cast&lt;float&gt;(&quot;12,3&quot;);
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1171586</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1171586</guid><dc:creator><![CDATA[Artchi]]></dc:creator><pubDate>Thu, 09 Nov 2006 09:18:58 GMT</pubDate></item><item><title><![CDATA[Reply to String in eine Kommazahl konvertieren on Thu, 09 Nov 2006 09:28:06 GMT]]></title><description><![CDATA[<p>und wenn du kein boost hast:</p>
<pre><code>std::stringstream s(&quot;12.3&quot;);
 float f;
 s &gt;&gt; f;
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1171592</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1171592</guid><dc:creator><![CDATA[net 0]]></dc:creator><pubDate>Thu, 09 Nov 2006 09:28:06 GMT</pubDate></item><item><title><![CDATA[Reply to String in eine Kommazahl konvertieren on Thu, 09 Nov 2006 11:59:07 GMT]]></title><description><![CDATA[<p>Artchi schrieb:</p>
<blockquote>
<pre><code class="language-cpp">float zahl = boost::lexical_cast&lt;float&gt;(&quot;12,3&quot;);
</code></pre>
</blockquote>
<p>.. führt fast immer zu einer boost::bad_lexical_cast-Exception.</p>
<p>Und wenn tatsächlich eine Komma-Zahl gelesen werden soll, kann man sich so behelfen:</p>
<pre><code class="language-cpp">std::stringstream s(&quot;12,3&quot;);
    s.imbue( locale(&quot;german&quot;) ); // Bem.: String &quot;german&quot; ist implementierungsabhängig
    float f;
    s &gt;&gt; f;
</code></pre>
<p>Gruß<br />
Werner</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1171657</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1171657</guid><dc:creator><![CDATA[Werner Salomon]]></dc:creator><pubDate>Thu, 09 Nov 2006 11:59:07 GMT</pubDate></item><item><title><![CDATA[Reply to String in eine Kommazahl konvertieren on Thu, 09 Nov 2006 15:53:10 GMT]]></title><description><![CDATA[<p>Habs nicht ausprobiert. Wenn lexical_cast tatsächlich keine lokalisierten Zahlen versteht, ist das schlecht. Werde das mal überprüfen und notfalls einen Changerequest bei boost reingeben.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1171782</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1171782</guid><dc:creator><![CDATA[Artchi]]></dc:creator><pubDate>Thu, 09 Nov 2006 15:53:10 GMT</pubDate></item><item><title><![CDATA[Reply to String in eine Kommazahl konvertieren on Thu, 09 Nov 2006 15:54:00 GMT]]></title><description><![CDATA[<p>bei mir kommt der fehler:</p>
<p>std::stringstream s' has initializer but incomplete type</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1171784</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1171784</guid><dc:creator><![CDATA[alexC++]]></dc:creator><pubDate>Thu, 09 Nov 2006 15:54:00 GMT</pubDate></item><item><title><![CDATA[Reply to String in eine Kommazahl konvertieren on Thu, 09 Nov 2006 15:57:36 GMT]]></title><description><![CDATA[<p>Dann fehlt dir vermutlich die passende Header-Datei:</p>
<pre><code class="language-cpp">#include &lt;sstream&gt;
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1171786</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1171786</guid><dc:creator><![CDATA[Der Meister]]></dc:creator><pubDate>Thu, 09 Nov 2006 15:57:36 GMT</pubDate></item><item><title><![CDATA[Reply to String in eine Kommazahl konvertieren on Thu, 09 Nov 2006 16:01:00 GMT]]></title><description><![CDATA[<p>alexC++ schrieb:</p>
<blockquote>
<p>std::stringstream s' has initializer but incomplete type</p>
</blockquote>
<p>EDIT: Sollten wir uns verarscht vorkommen?<br />
<a href="http://www.c-plusplus.net/forum/viewtopic-var-p-is-1170909-and-highlight-is-.html#1170909" rel="nofollow">http://www.c-plusplus.net/forum/viewtopic-var-p-is-1170909-and-highlight-is-.html#1170909</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1171787</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1171787</guid><dc:creator><![CDATA[LordJaxom]]></dc:creator><pubDate>Thu, 09 Nov 2006 16:01:00 GMT</pubDate></item><item><title><![CDATA[Reply to String in eine Kommazahl konvertieren on Thu, 09 Nov 2006 16:13:45 GMT]]></title><description><![CDATA[<p>Artchi schrieb:</p>
<blockquote>
<p>Habs nicht ausprobiert. Wenn lexical_cast tatsächlich keine lokalisierten Zahlen versteht, ist das schlecht. Werde das mal überprüfen und notfalls einen Changerequest bei boost reingeben.</p>
</blockquote>
<p>Ne, das wäre ja quatsch. Die Leute sollen das richtige local setzen, wenn sie das Komma da haben wollen. Ich will keine eierlegende Wollmilchsaufunktion, die alles was sich irgendwie mühevoll noch als Zahl interpretieren läßt auch konvertiert.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1171790</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1171790</guid><dc:creator><![CDATA[Jester]]></dc:creator><pubDate>Thu, 09 Nov 2006 16:13:45 GMT</pubDate></item><item><title><![CDATA[Reply to String in eine Kommazahl konvertieren on Fri, 10 Nov 2006 13:35:37 GMT]]></title><description><![CDATA[<p>Jester schrieb:</p>
<blockquote>
<p>Artchi schrieb:</p>
<blockquote>
<p>Habs nicht ausprobiert. Wenn lexical_cast tatsächlich keine lokalisierten Zahlen versteht, ist das schlecht. Werde das mal überprüfen und notfalls einen Changerequest bei boost reingeben.</p>
</blockquote>
<p>Ich will keine eierlegende Wollmilchsaufunktion, die alles was sich irgendwie mühevoll noch als Zahl interpretieren läßt auch konvertiert.</p>
</blockquote>
<p>Sehe ich ähnlich. Mich nervt manchmal schon std::stringstream. Für die meisten Fälle ist die Sicherheit (dank eigenem Memory-Management) von std::stringstream ja schick und schön. Für das Umwandeln eines Strings in eine Zahl ist das zusätzliche Kopieren des Strings (hurra, wieder eine Heap-Allokation) aber meistens reine Verschwendung. Nun ist ja auch Verschwendung in der Regel kein Problem, aber da wo es ein Problem ist, ist es schade, dass std::strstream als deprecated eingestuft wurde.<br />
So muss man am Ende wieder auf alte C-Funktionen zurückgreifen oder aber sich einen eigenen Streambuffer schreiben, der einfach auf einem Array arbeitet. Siehe z.B.: <a href="http://fara.cs.uni-potsdam.de/%7Ejsg/array_istream/array_istream.zip" rel="nofollow">http://fara.cs.uni-potsdam.de/~jsg/array_istream/array_istream.zip</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1172208</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1172208</guid><dc:creator><![CDATA[HumeSikkins]]></dc:creator><pubDate>Fri, 10 Nov 2006 13:35:37 GMT</pubDate></item><item><title><![CDATA[Reply to String in eine Kommazahl konvertieren on Fri, 10 Nov 2006 13:44:24 GMT]]></title><description><![CDATA[<p>Wenn ihr unbedingt lexical_cast&lt;&gt; deutsche Gleitkommazahlen beibringen wollt, könnt ihr über <code>locale::global(locale(&quot;german&quot;));</code> ein deutsches Locale für's gesamte Programm festlegen <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><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/30712">@Hume</a>: Erstens hindert dich niemand daran, strstreams zu verwenden (wenn du unbedingt willst). Und zweitens versuchen die auch, sich selber um's Speicher-Managment zu kümmern (wobei die Steuerung nach außen etwas komplizierter ausfällt als bei einem stringstream).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1172221</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1172221</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Fri, 10 Nov 2006 13:44:24 GMT</pubDate></item><item><title><![CDATA[Reply to String in eine Kommazahl konvertieren on Fri, 10 Nov 2006 14:29:04 GMT]]></title><description><![CDATA[<p>CStoll schrieb:</p>
<blockquote>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/30712">@Hume</a>: Erstens hindert dich niemand daran, strstreams zu verwenden (wenn du unbedingt willst).</p>
</blockquote>
<p>Äh doch. Der C++ Standard. Was heute als deprecated eingestuft ist, kann beim nächsten Standard entfernt werden. D.h. meine Programme lassen sich 2037 dann vielleicht nicht mehr übersetzen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f62e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_open_mouth"
      title=":open_mouth:"
      alt="😮"
    /></p>
<blockquote>
<p>Und zweitens versuchen die auch, sich selber um's Speicher-Managment zu kümmern (wobei die Steuerung nach außen etwas komplizierter ausfällt als bei einem stringstream).</p>
</blockquote>
<p>Hast du verstanden, worauf ich hinaus wollte?</p>
<pre><code class="language-cpp">#include &lt;strstream&gt;
#include &lt;sstream&gt;
#include &lt;iostream&gt;
using namespace std;
int main() {
	char arr[] = &quot;1.23&quot;;
	char arr2[] = &quot;1.23&quot;;
	istrstream str(arr);
	arr[0] = '7';
	double f;
	str &gt;&gt; f;
	cout &lt;&lt; f &lt;&lt; endl;

	istringstream str2(arr2);
	arr2[0] = '7';
	str2 &gt;&gt; f;
	cout &lt;&lt; f &lt;&lt; endl;
}
</code></pre>
<p>Wird der Unterschied klar? Es ist dabei auch egal, ob man einen C-String oder einen std::string nimmt. istringstream erstellt *immer* eine Kopie.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1172237</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1172237</guid><dc:creator><![CDATA[HumeSikkins]]></dc:creator><pubDate>Fri, 10 Nov 2006 14:29:04 GMT</pubDate></item><item><title><![CDATA[Reply to String in eine Kommazahl konvertieren on Fri, 10 Nov 2006 14:40:31 GMT]]></title><description><![CDATA[<p>OK, locale::global(locale(&quot;german&quot;)); habe ich nicht gewusst. Denn wenn ich locale(&quot;&quot;).name() aufrufem bekomme ich schon german zurück. Aber das ich es global setzen muß, habe ich nicht gewusst. Dann funktioniert also lexical_cast doch problemlos mit deutschen Kommazahlen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1172239</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1172239</guid><dc:creator><![CDATA[Artchi]]></dc:creator><pubDate>Fri, 10 Nov 2006 14:40:31 GMT</pubDate></item><item><title><![CDATA[Reply to String in eine Kommazahl konvertieren on Fri, 10 Nov 2006 14:52:14 GMT]]></title><description><![CDATA[<p>lexical_cast ist ja auch nicht viel mehr als:</p>
<pre><code class="language-cpp">template&lt;typename DestType, SourceType&gt;
DestType lexical_cast(SourceType const&amp; value)
{
  std::stringstream s;
  s &lt;&lt; value;
  DestType result;
  s &gt;&gt; result;
  return result;
}
</code></pre>
<p>Damit verwendet es natürlich alle Einstellungen und Features, die die stream-Bibliothek bietet.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1172250</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1172250</guid><dc:creator><![CDATA[Jester]]></dc:creator><pubDate>Fri, 10 Nov 2006 14:52:14 GMT</pubDate></item></channel></rss>