# Überprüfen ob Variable ein integer ist



## thesign (7. Januar 2004)

Hallo!

Ich habe folgende Problemstellung:
Das Programm soll überprüfen ob der eingegebene Werte korrekt ist, sprich ob der eingegebene String tatsächlich ein Integerwert ist oder nicht?

Wie kann ich in C++ überprüfen ob ein Wert auch tatsächlich ein Integerwert ist und darauf bei nicht erfüllung mit einer Fehlermeldung reagieren?

vielen Dank, mfg Markus


----------



## Thomas Kuse (8. Januar 2004)

Wenn Du mit Klassen arbeitest (unter C++ natürlich von Vorteil) kannst Du bequem *exceptions* werfen, wenn beim Konvertieren von einem char-array  mit atoi als integer-wert 0 herauskommt.
Diese Exceptions kannst Du dann natürlich mit try-catch ausserhalb der Klasse abfangen und auswerten.


----------



## BadMourning (9. Januar 2004)

ist viel einfacher, du mußt lediglich jedes Zeichen des Strings
auf seinen ASCII-Code prüfen.


```
BOOL Check( char *str )
{
    BOOL Result =TRUE;

    for( i = 0; i < strlen( str ); i++ )
    {
        if( str[ i ] < '0'  || str[ i ] > '9' )
        {  
            Result = FALSE;
            break;
        }
    }

    return Result;
}
```

Greets
BadMourning


----------



## Daniel Toplak (10. Januar 2004)

> st viel einfacher, du mußt lediglich jedes Zeichen des Strings  auf seinen ASCII-Code prüfen.


Ähm ich weiß ja net, aber der Vorschlag von Thomas wäre da wesentlich kürzer vom code her.
Und vorallem auch besser zu verstehen und zum handlen.

Gruß Homer


----------

