Archiv verlassen und diese Seite im Standarddesign anzeigen : C++ String in Int?
SamStone
2009-02-27, 17:35:50
Hallo,
Weiß jemand, wie ich auf möglichst einfache Weise rausfinde, ob ein std::string eine Ganzzahl ist, und wie ich den dann in einen int umwandle?
atoi ist mir zu unmodern.
http://www.tutorials.de/forum/c-c/252773-string-int.html
Superguppy
2009-02-27, 18:11:12
strtol() ist besser als atoi(). ;)
Und ob es eine Ganzzahl ist lässt sich heraus finden, indem du den String auf Punkt oder Komma parst.
Ob es eine Ganzzahl ist ist doch trivial. Musst halt schauen, dass er nur die Charakter '0'-'9' enthält.
Danach kannst du atoi verwenden. Das ist nicht unmodern, sondern macht einfach was du willst ;)
Falls du dafür aber unbedingt C++ Libs verwenden willst gibt es entweder std::stringstream oder als Wrapper drumherum boost::lexical_cast, also:
int val = boost::lexical_cast<int>(str);
SamStone
2009-02-28, 19:58:49
Ok danke euch, habs jetzt mit stringstreams gemacht.
vBulletin®, Copyright ©2000-2024, Jelsoft Enterprises Ltd.