一、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