Bonjour,
Je souhaite tester si la valeur d'une variable string est un numerique.
Pour cela je suis alle voir directement dans ma FAQ preferee, ou j'ai trouve le bout de code suivant (sans le "cout" rajoute par moi-meme) :
Cependant je viens de faire un test en assignant la valeur "1ZJHZKJZHKJ", et voici le resultat :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 istringstream s( "10" ); int n; if ( s >> n != 0) { cout << "TEST REUSSI - n = " << n << endl; }
Donc apparemment il suffit que la chaine de caractere COMMENCE par un nombre pour que la conversion soit flaguee comme reussie n'est-ce pas ? Si tel est le cas il faudrait peut-etre eclaircir la FAQ a ce niveau, mais ce n'est que mon avis :p
Code : Sélectionner tout - Visualiser dans une fenêtre à part TEST REUSSI - n = 1
Du coup quelle est la meilleure facon de tester si une chaine de caracteres est convertible en un entier ? Utiliser istringstream en combinaison avec un autre bout de code ?
Merci d'avance !
Guyzeug.
Partager