C++转换形式(C++11):
int main(int argc, char* argv[]) { std::string str1 = "45"; std::string str2 = "3.14159"; std::string str3 = "31337 with words"; std::string str4 = "words and 2"; int myint1 = std::stoi(str1); int myint2 = std::stoi(str2); int myint3 = std::stoi(str3); // error: 'std::invalid_argument' /*int myint4 = std::stoi(str4);*/ std::cout << "std::stoi(\"" << str1 << "\") is " << myint1 << '\n'; std::cout << "std::stoi(\"" << str2 << "\") is " << myint2 << '\n'; std::cout << "std::stoi(\"" << str3 << "\") is " << myint3 << '\n'; /*std::cout << "std::stoi(\"" << str4 << "\") is " << myint4 << '\n';*/ }
output:
std::stoi("45") is 45 std::stoi("3.14159") is 3 std::stoi("31337 with words") is 31337
同样, 可以使用 stol(long), stof(float), stod(double) 等.