C++转换形式(C++11):

int main(int argc, char* argv[])
{
std::string str1 = "";
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("") is
std::stoi("3.14159") is
std::stoi("31337 with words") is

同样, 可以使用 stol(long), stof(float), stod(double) 等.

05-11 17:24
查看更多