<?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 nach Zahl]]></title><description><![CDATA[<p>Hallo,</p>
<p>es ist mir ja etwas peinlich, weil das wohl eine der am häufigsten gestellten Fragen ist. Allerdings werde ich aus dem FAQ-eintrag nicht schlau.</p>
<p>Ich habe einen String:</p>
<pre><code class="language-cpp">std::string number = &quot;87687687&quot;;
</code></pre>
<p>Jetzt möchte ich gerne eine beliebige Stelle dieses Strings in eine Zahl umwandeln, um damit rechnen zu können. Ich verstehe leider nicht, wie ich das bewerkstelligen kann.</p>
<p>Wär nett, wenn mir da gerade mal jemand auf die Sprünge helfen könnte.</p>
<p>Gruß, mbu.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/203165/string-nach-zahl</link><generator>RSS for Node</generator><lastBuildDate>Wed, 07 Oct 2026 11:00:53 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/203165.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 19 Jan 2008 16:39:01 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to String nach Zahl on Sat, 19 Jan 2008 16:39:01 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>es ist mir ja etwas peinlich, weil das wohl eine der am häufigsten gestellten Fragen ist. Allerdings werde ich aus dem FAQ-eintrag nicht schlau.</p>
<p>Ich habe einen String:</p>
<pre><code class="language-cpp">std::string number = &quot;87687687&quot;;
</code></pre>
<p>Jetzt möchte ich gerne eine beliebige Stelle dieses Strings in eine Zahl umwandeln, um damit rechnen zu können. Ich verstehe leider nicht, wie ich das bewerkstelligen kann.</p>
<p>Wär nett, wenn mir da gerade mal jemand auf die Sprünge helfen könnte.</p>
<p>Gruß, mbu.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1439526</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1439526</guid><dc:creator><![CDATA[mbu]]></dc:creator><pubDate>Sat, 19 Jan 2008 16:39:01 GMT</pubDate></item><item><title><![CDATA[Reply to String nach Zahl on Sat, 19 Jan 2008 16:39:56 GMT]]></title><description><![CDATA[<p>Suche in der FAQ.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1439527</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1439527</guid><dc:creator><![CDATA[simon.gysi]]></dc:creator><pubDate>Sat, 19 Jan 2008 16:39:56 GMT</pubDate></item><item><title><![CDATA[Reply to String nach Zahl on Sat, 19 Jan 2008 16:44:05 GMT]]></title><description><![CDATA[<p>eine beliebige stelle im string definierst du wodurch? ein zeichen? ein substring?</p>
<p>bei einem einzelnen zeichen geht das so:</p>
<pre><code class="language-cpp">string x = &quot;012345&quot;;

int i = x[3] - '0';
//i == 3
</code></pre>
<p>substrings siehe FAQ (stringstream)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1439529</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1439529</guid><dc:creator><![CDATA[queer_boy]]></dc:creator><pubDate>Sat, 19 Jan 2008 16:44:05 GMT</pubDate></item><item><title><![CDATA[Reply to String nach Zahl on Sat, 19 Jan 2008 16:42:19 GMT]]></title><description><![CDATA[<p>mbu schrieb:</p>
<blockquote>
<p>Allerdings werde ich aus dem FAQ-eintrag nicht schlau.</p>
</blockquote>
<p>simon.gysi schrieb:</p>
<blockquote>
<p>Suche in der FAQ.</p>
</blockquote>
<p>Vielen Dank auch.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1439530</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1439530</guid><dc:creator><![CDATA[mbu]]></dc:creator><pubDate>Sat, 19 Jan 2008 16:42:19 GMT</pubDate></item><item><title><![CDATA[Reply to String nach Zahl on Sat, 19 Jan 2008 16:44:45 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/14600">@queer_boy</a>: Vielen Dank. Das war genau das was ich brauchte. <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>
]]></description><link>https://www.c-plusplus.net/forum/post/1439532</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1439532</guid><dc:creator><![CDATA[mbu]]></dc:creator><pubDate>Sat, 19 Jan 2008 16:44:45 GMT</pubDate></item><item><title><![CDATA[Reply to String nach Zahl on Sun, 20 Jan 2008 19:44:33 GMT]]></title><description><![CDATA[<p>queer_boy schrieb:</p>
<blockquote>
<p>...<br />
bei einem einzelnen zeichen geht das so</p>
<pre><code class="language-cpp">string x = &quot;012345&quot;;

int i = x[3] - '0';
//i == 3
</code></pre>
<p>...</p>
</blockquote>
<p>Geht zwar schon ... aber ziemlich in die Hose, wenn man sich auf einer entsprechenden Maschine befindet (zumal ja in x[3] nichtmal eine Ziffer drin sein muss). <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="😉"
    /><br />
Wenn, dann würde ich immer mit &quot;Umsetzungstabellen&quot; arbeiten .. bei 10 Ziffern tut's auch ein switch:</p>
<pre><code class="language-cpp">int char2Int(char c) {
      switch(c) {
      case '0': return 0;
      case '1': return 1;
      case '2': return 2;
      case '3': return 3;
      case '4': return 4;
      case '5': return 5;
      case '6': return 6;
      case '7': return 7;
      case '8': return 8;
      case '9': return 9;
   }
   throw std::runtime_error(&quot;Ungültiges Zeichen&quot;);
}

string x = &quot;012345&quot;;
int i = char2Int(x[3]);
</code></pre>
<p>ist auch nicht aufwendiger und dafür portabel (und auf andere Zeichensätze zu erweitern).</p>
<p>Insgesamt bin ich allerdings skeptisch, wie wertvoll diese &quot;Zeichenweise Umsetzung&quot; ist.</p>
<p>Gruß,</p>
<p>Simon2.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1440139</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1440139</guid><dc:creator><![CDATA[Simon2]]></dc:creator><pubDate>Sun, 20 Jan 2008 19:44:33 GMT</pubDate></item><item><title><![CDATA[Reply to String nach Zahl on Sun, 20 Jan 2008 19:50:03 GMT]]></title><description><![CDATA[<p>...L O L...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1440143</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1440143</guid><dc:creator><![CDATA[ROLF...ROFL]]></dc:creator><pubDate>Sun, 20 Jan 2008 19:50:03 GMT</pubDate></item><item><title><![CDATA[Reply to String nach Zahl on Mon, 21 Jan 2008 10:33:32 GMT]]></title><description><![CDATA[<p>Sorry, Simon, aber diesmal muß ich dir widersprechen.<br />
Vom C und vom C++ Standard ist definiert, daß die Ziffern '0' - '9' fortlaufend im Zeichensatz vorkommen müssen (im Gegensatz zum Alphabet, wo man korrekterweise nicht davon ausgehen sollte: ASCII &lt;-&gt; EBSDIC): die Standard-Funktionen atoi(), atof(), ... nutzen dies auch intern.</p>
<p>Und die Abfrage, ob überhaupt eine Ziffer vorliegt, kann man ja bequem mit 'isdigit()' durchführen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1440448</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1440448</guid><dc:creator><![CDATA[Th]]></dc:creator><pubDate>Mon, 21 Jan 2008 10:33:32 GMT</pubDate></item><item><title><![CDATA[Reply to String nach Zahl on Mon, 21 Jan 2008 10:38:33 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">string x = &quot;012345&quot;;

int i = x[3] - '0';
//i == 3
</code></pre>
<p>Vielleicht könnte man diesen Code als eine weitere Möglichkeit für die Frage &quot;String nach Zahl&quot; in die FAQ aufnehmen? Ist für diesen Fall nämlich sehr viel kürzer, als irgendwie mit std::stringstream zu arbeiten.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1440453</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1440453</guid><dc:creator><![CDATA[mbu]]></dc:creator><pubDate>Mon, 21 Jan 2008 10:38:33 GMT</pubDate></item><item><title><![CDATA[Reply to String nach Zahl on Mon, 21 Jan 2008 12:50:02 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>Deine Umwandlung ist char in Ziffer. Du siehst sicher ein das das etwas anderes ist als string in Zahl.</p>
<p>bis bald<br />
akari</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1440548</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1440548</guid><dc:creator><![CDATA[akari]]></dc:creator><pubDate>Mon, 21 Jan 2008 12:50:02 GMT</pubDate></item><item><title><![CDATA[Reply to String nach Zahl on Mon, 21 Jan 2008 13:26:47 GMT]]></title><description><![CDATA[<p>Th schrieb:</p>
<blockquote>
<p>...Vom C und vom C++ Standard ist definiert, daß die Ziffern '0' - '9' fortlaufend im Zeichensatz vorkommen müssen ...</p>
</blockquote>
<p>Echt ?</p>
<p>Nunja, dann habe ich das bislang nicht gefunden und bin dankbar für diese Aufklärung. Zwar kenne ich keinen Zeichensatz, bei dem das nicht so wäre, aber ich finde es schon sehr verwunderlich, dass der C++-Standard das festlegen kann.<br />
Ist er dann auf Plattformen, die das nicht anbieten, nicht umsetzbar ? Oder bekommt er einen &quot;eigenen Zeichensatz&quot; ?</p>
<p>Letztlich bleibt aber immer noch, dass es spätestens bei Hex-Daten nicht mehr klappt.</p>
<p>Gruß,</p>
<p>Simon2.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1440584</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1440584</guid><dc:creator><![CDATA[Simon2]]></dc:creator><pubDate>Mon, 21 Jan 2008 13:26:47 GMT</pubDate></item><item><title><![CDATA[Reply to String nach Zahl on Mon, 21 Jan 2008 13:57:16 GMT]]></title><description><![CDATA[<p>Hi Simon2,</p>
<p>habe mal gerade in dem Draft-Dokument des C++ Standards geschaut (bzw. gesucht).</p>
<blockquote>
<p>2.2 Character sets</p>
<p>3<br />
...<br />
In both the source and execution basic character sets, the value of each character after 0 in the above list of decimal digits shall be one greater than the value of the previous.<br />
...</p>
</blockquote>
<p>Ich weiß, dies ist gut versteckt...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1440618</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1440618</guid><dc:creator><![CDATA[Th]]></dc:creator><pubDate>Mon, 21 Jan 2008 13:57:16 GMT</pubDate></item><item><title><![CDATA[Reply to String nach Zahl on Mon, 21 Jan 2008 14:00:25 GMT]]></title><description><![CDATA[<p>Klingt wie nach dem Countdown der heiligen Handgranate bei Ritter der Kokosnuss. <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>
]]></description><link>https://www.c-plusplus.net/forum/post/1440621</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1440621</guid><dc:creator><![CDATA[Fellhuhn]]></dc:creator><pubDate>Mon, 21 Jan 2008 14:00:25 GMT</pubDate></item><item><title><![CDATA[Reply to String nach Zahl on Mon, 21 Jan 2008 14:03:42 GMT]]></title><description><![CDATA[<p>Simon2 schrieb:</p>
<blockquote>
<p>Ist er dann auf Plattformen, die das nicht anbieten, nicht umsetzbar ? Oder bekommt er einen &quot;eigenen Zeichensatz&quot; ?</p>
</blockquote>
<p>Hem, ist ja nur bei der Ausgabe (Bildschirm, Datei usw.) wichtig, das es korrekt umgewandelt wird. Also ist das Sache der Runtime. Kostet dann halt evtl. Performance. Wo ein Wille, da ein Weg. <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>
]]></description><link>https://www.c-plusplus.net/forum/post/1440627</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1440627</guid><dc:creator><![CDATA[Artchi]]></dc:creator><pubDate>Mon, 21 Jan 2008 14:03:42 GMT</pubDate></item></channel></rss>