cast
便利なもの発見.
#include <iostream> #include <string> #include <boost/lexical_cast.hpp> int main(){ std::string str = "3.14"; double pi = 0.0; try { pi = boost::lexical_cast<double>(str); } catch(const boost::bad_lexical_cast&){ std::cerr << "cast failed" << std::endl; return 1; } std::cout << (pi * 2) << std::endl; // 6.28 }
atoiとかを使うよりよっぽどいいです.
今までatoiとか使いたくなかったんで,自作でstr2intとか作ってたけど.