一、int转string
- #include <iostream>
- #include <string>
-
- int main()
- {
- double f = 23.43;
- double f2 = 1e-9;
- double f3 = 1e40;
- double f4 = 1e-40;
- double f5 = 123456789;
- std::string f_str = std::to_string(f);
- std::string f_str2 = std::to_string(f2); // 注意:返回 "0.000000"
- std::string f_str3 = std::to_string(f3); // 注意:不返回 "1e+40".
- std::string f_str4 = std::to_string(f4); // 注意:返回 "0.000000"
- std::string f_str5 = std::to_string(f5);
- std::cout << "std::cout: " << f << '\n'
- << "to_string: " << f_str << "\n\n"
- << "std::cout: " << f2 << '\n'
- << "to_string: " << f_str2 << "\n\n"
- << "std::cout: " << f3 << '\n'
- << "to_string: " << f_str3 << "\n\n"
- << "std::cout: " << f4 << '\n'
- << "to_string: " << f_str4 << "\n\n"
- << "std::cout: " << f5 << '\n'
- << "to_string: " << f_str5 << '\n';
- }
输出
- std::cout: 23.43
- to_string: 23.430000
-
- std::cout: 1e-09
- to_string: 0.000000
-
- std::cout: 1e+40
- to_string: 10000000000000000303786028427003666890752.000000
-
- std::cout: 1e-40
- to_string: 0.000000
-
- std::cout: 1.23457e+08
- to_string: 123456789.000000
二、string转int
- #include <iostream>
- #include <string>
-
- int main()
- {
- 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);
- // 错误: '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';
-
- }
结果:
std::stoi("45") is 45
std::stoi("3.14159") is 3
std::stoi("31337 with words") is 31337