std::string を int に変換するにはどうすればいいですか? 質問する

std::string を int に変換するにはどうすればいいですか? 質問する

文字列を int に変換したいのですが、ASCII コードではありません。

簡単に説明すると、方程式は文字列として渡されます。これを分解し、正しくフォーマットして、線形方程式を解きます。そうは言っても、文字列を int に変換することはできません。

文字列は (-5) または (25) などの形式になることがわかっているので、間違いなく int です。しかし、文字列からそれをどのように抽出するのでしょうか?

私が考えていた方法の 1 つは、文字列に対して for/while ループを実行し、数字があるかどうかをチェックし、その後の数字をすべて抽出して、先頭に「-」があるかどうかを確認し、ある場合は int に -1 を掛けるというものでした。

しかし、このような小さな問題にしては少し複雑すぎるように思えます。何かアイデアはありますか?

ベストアンサー1

std::stringC++11 には、から数値型に変換する便利な新しい関数がいくつかあります。

だから代わりに

atoi( str.c_str() )

使用できます

std::stoi( str )

strあなたの番号はどこにありますかstd::string

あらゆる種類の数字のバージョンがあります: long stol(string)、、、... 参照float stof(string)double stod(string)http://en.cppreference.com/w/cpp/string/basic_string/stol

おすすめ記事