PDA

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.

noid
2009-02-27, 18:11:08
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.

Coda
2009-02-28, 15:09:15
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.