<?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 überprüfen ob er eine zahl enthält]]></title><description><![CDATA[<p>ich brauche eine fkt., welche mir herausfindet, ob der string, den ich dieser übermittle einen zahl ist<br />
meine idee hierzu:</p>
<pre><code class="language-cpp">bool Parser::IsDouble(string theString)
{
    bool isDouble(false);

    //check the rest of the string
    for(int i=1; i &lt; theString.length() + 1; i++)
    {
        //the first char can be a '-' so lets check...
        if(i == 1 &amp;&amp; theString.length &gt; 1 &amp;&amp; theString[i] == '-')
        {
            isDouble = true;
        }

        if(theString[i] == '0' || 
            theString[i] == '1' || 
            theString[i] == '2' || 
            theString[i] == '3' || 
            theString[i] == '4' || 
            theString[i] == '5' || 
            theString[i] == '6' || 
            theString[i] == '7' || 
            theString[i] == '8' || 
            theString[i] == '9')
            isDouble = true;
        else if(theString[i] == '.' &amp;&amp; isDecimal == false)
        {
            isDecimal = true;
            isDouble = true;
        }
        else
            return false;
    }

    return isDouble;
}
</code></pre>
<p>mein problem ist jedoch, das theString[i] nie mit meinen char der if-abfragen übereinstimmt, sprich die if-abfrage springt nicht an, wenn ich z.b. &quot;123.4&quot; übergebe.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/145396/string-überprüfen-ob-er-eine-zahl-enthält</link><generator>RSS for Node</generator><lastBuildDate>Thu, 03 Sep 2026 05:20:53 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/145396.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 27 Apr 2006 14:41:56 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to string überprüfen ob er eine zahl enthält on Thu, 27 Apr 2006 14:41:56 GMT]]></title><description><![CDATA[<p>ich brauche eine fkt., welche mir herausfindet, ob der string, den ich dieser übermittle einen zahl ist<br />
meine idee hierzu:</p>
<pre><code class="language-cpp">bool Parser::IsDouble(string theString)
{
    bool isDouble(false);

    //check the rest of the string
    for(int i=1; i &lt; theString.length() + 1; i++)
    {
        //the first char can be a '-' so lets check...
        if(i == 1 &amp;&amp; theString.length &gt; 1 &amp;&amp; theString[i] == '-')
        {
            isDouble = true;
        }

        if(theString[i] == '0' || 
            theString[i] == '1' || 
            theString[i] == '2' || 
            theString[i] == '3' || 
            theString[i] == '4' || 
            theString[i] == '5' || 
            theString[i] == '6' || 
            theString[i] == '7' || 
            theString[i] == '8' || 
            theString[i] == '9')
            isDouble = true;
        else if(theString[i] == '.' &amp;&amp; isDecimal == false)
        {
            isDecimal = true;
            isDouble = true;
        }
        else
            return false;
    }

    return isDouble;
}
</code></pre>
<p>mein problem ist jedoch, das theString[i] nie mit meinen char der if-abfragen übereinstimmt, sprich die if-abfrage springt nicht an, wenn ich z.b. &quot;123.4&quot; übergebe.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1046434</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1046434</guid><dc:creator><![CDATA[metsieder]]></dc:creator><pubDate>Thu, 27 Apr 2006 14:41:56 GMT</pubDate></item><item><title><![CDATA[Reply to string überprüfen ob er eine zahl enthält on Thu, 27 Apr 2006 15:02:46 GMT]]></title><description><![CDATA[<p>Habs mir jetzt nicht genau angeschaut, mein Verdacht kann also falsch sein:</p>
<p>Du überprüfst bis (String.length() + 1). Damit bist du schon hinter deinem eigentlichen String. Dort steht wahrscheinlich als Zeichen ein '\0'. Das passt nicht in deine Abfragen und du bekommst ein false zurück.</p>
<p>Probier mal bis (String.length() - 1). Um das selber zu überprüfen: Lass dir einfach in jeder Iteration den Character ausgeben, den du testest. Dann wirst du schnell sehen, was da passiert.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1046457</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1046457</guid><dc:creator><![CDATA[DarthZiu]]></dc:creator><pubDate>Thu, 27 Apr 2006 15:02:46 GMT</pubDate></item><item><title><![CDATA[Reply to string überprüfen ob er eine zahl enthält on Thu, 27 Apr 2006 15:02:59 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>siehe <em>std::stringstream</em></p>
<p>bis bald<br />
akari</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1046458</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1046458</guid><dc:creator><![CDATA[akari]]></dc:creator><pubDate>Thu, 27 Apr 2006 15:02:59 GMT</pubDate></item><item><title><![CDATA[Reply to string überprüfen ob er eine zahl enthält on Thu, 27 Apr 2006 15:04:30 GMT]]></title><description><![CDATA[<p>Du kannst dir die if-Abfrage sparen, indem du die C-Standard Funktion isdigit() benutzt, die in der ctype Headerdatei liegt.</p>
<p>mfg.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1046459</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1046459</guid><dc:creator><![CDATA[joomoo]]></dc:creator><pubDate>Thu, 27 Apr 2006 15:04:30 GMT</pubDate></item><item><title><![CDATA[Reply to string überprüfen ob er eine zahl enthält on Thu, 27 Apr 2006 15:10:17 GMT]]></title><description><![CDATA[<p>DarthZiu schrieb:</p>
<blockquote>
<p>Habs mir jetzt nicht genau angeschaut, mein Verdacht kann also falsch sein:</p>
<p>Du überprüfst bis (String.length() + 1). Damit bist du schon hinter deinem eigentlichen String. Dort steht wahrscheinlich als Zeichen ein '\0'. Das passt nicht in deine Abfragen und du bekommst ein false zurück.</p>
<p>Probier mal bis (String.length() - 1). Um das selber zu überprüfen: Lass dir einfach in jeder Iteration den Character ausgeben, den du testest. Dann wirst du schnell sehen, was da passiert.</p>
</blockquote>
<p>daran liegt es definitiv nicht denn <em>theString.length()</em> liefert mir genau die länge die ich brauche, und da der vs2005 compiler <em>=&lt;</em> nicht wollte habe ich einfach <em>&lt; x + 1</em> genommen...</p>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/7971">@akari</a><br />
wie meinst du das mit <em>std::stringstream</em></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1046465</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1046465</guid><dc:creator><![CDATA[metsieder]]></dc:creator><pubDate>Thu, 27 Apr 2006 15:10:17 GMT</pubDate></item><item><title><![CDATA[Reply to string überprüfen ob er eine zahl enthält on Thu, 27 Apr 2006 15:17:27 GMT]]></title><description><![CDATA[<p>- &quot;=&lt;&quot; funktioniert bei meinem gcc genausowenig, denn das Symbol gibt es schlicht und ergreifend nicht. Auf die Idee, dass es &quot;&lt;=&quot; (mnemonic: &quot;kleiner-gleich&quot;, ich habe noch nie &quot;gleich-kleiner&quot; gehört) lautet hätte man aber kommen können <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>- Du prüfst den String von der zweiten Stelle bis zum Nullbyte (einschliesslich). In der IT üblicherweise bei 0 angefangen zu zählen.</p>
<pre><code class="language-cpp">for (int i=0; i &lt; theString.length(); i++)
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1046475</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1046475</guid><dc:creator><![CDATA[LordJaxom]]></dc:creator><pubDate>Thu, 27 Apr 2006 15:17:27 GMT</pubDate></item><item><title><![CDATA[Reply to string überprüfen ob er eine zahl enthält on Thu, 27 Apr 2006 15:24:19 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>das <a href="http://www.c-plusplus.net/forum/viewtopic-var-t-is-39488.html" rel="nofollow">hier</a> ist der C++ Weg um strings und Zahlen zu konvertieren. Du must dann eben prüfen ob die Konvertierung funktioniert hat oder nicht, so wie <a href="http://www.c-plusplus.net/forum/viewtopic-var-t-is-115176-and-highlight-is-%2Alexical%2A.html" rel="nofollow">hier</a>.</p>
<p>bis bald<br />
akari</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1046481</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1046481</guid><dc:creator><![CDATA[akari]]></dc:creator><pubDate>Thu, 27 Apr 2006 15:24:19 GMT</pubDate></item><item><title><![CDATA[Reply to string überprüfen ob er eine zahl enthält on Thu, 27 Apr 2006 15:27:21 GMT]]></title><description><![CDATA[<p>vielen dank, die fkt. scheint nun zu funktionieren. warum ich =&lt;geschrieben habe will ich jetzt gar nicht wissen <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="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1046486</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1046486</guid><dc:creator><![CDATA[metsieder]]></dc:creator><pubDate>Thu, 27 Apr 2006 15:27:21 GMT</pubDate></item></channel></rss>