文字列を int に変換したいのですが、ASCII コードではありません。
簡単に説明すると、方程式は文字列として渡されます。これを分解し、正しくフォーマットして、線形方程式を解きます。そうは言っても、文字列を int に変換することはできません。
文字列は (-5) または (25) などの形式になることがわかっているので、間違いなく int です。しかし、文字列からそれをどのように抽出するのでしょうか?
私が考えていた方法の 1 つは、文字列に対して for/while ループを実行し、数字があるかどうかをチェックし、その後の数字をすべて抽出して、先頭に「-」があるかどうかを確認し、ある場合は int に -1 を掛けるというものでした。
しかし、このような小さな問題にしては少し複雑すぎるように思えます。何かアイデアはありますか?
ベストアンサー1
std::string
C++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