int转stringstring转int
int转string定义于头文件
std::string to_string( int value ); std::string to_string( long value ); std::string to_string( long long value ); std::string to_string( unsigned value ); std::string to_string( unsigned long value ); std::string to_string( unsigned long long value ) ; std::string to_string( float value ); std::string to_string( double value ); std::string to_string( long double value ); 1)把有符号十进制整数转换为字符串,与std::sprintf(buf,"%d" ,value)在有足够大的buf时产生的内容相同。 2)把有符号十进制整数转换为字符串,与std::sprintf(buf,"%ld",value)在有足够大的 buf时产生的内容相同。 3)把有符号十进制整数转换为字符串,与std::sprintf(buf,"%lld",value)在有足够大的buf时产生的内容相同. 4)把无符号十进制整数转换为字符串,与std::sprintf(buf,“%su",value)在有足够大的 buf时产生的内容相同。 5)把无符号十进制整数转换为字符串,与std::sprintf(buf,"%lu",value)在有足够大的 buf时产生的内容相同. 6)把无符号十进制整数转换为字符串,与std::sprintf(buf,"%llu",value)在有足够大的 buf时产生的内容相同. 7,8)把浮点值转换为字符串,与std::sprintf(buf,"%f",value)在有足够大的 buf时产生的内容相同。 9)把浮点值转换为字符串,与std::sprintf(buf,"%Lf",value)在有足够大的buf时产生的内容相同。
具体使用:
#include#include 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 << "nn" << "std::cout: " << f2 << 'n' << "to_string: " << f_str2 << "nn" << "std::cout: " << f3 << 'n' << "to_string: " << f_str3 << "nn" << "std::cout: " << f4 << 'n' << "to_string: " << f_str4 << "nn" << "std::cout: " << f5 << 'n' << "to_string: " << f_str5 << 'n'; }
也可以直接这样搞:
int x = 10; string xx = to_string(x); // 整数变字符串string转int
std::stoi,std::stol,std::stoll定义于头文件
#include#include 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'; }
也可以直接这样搞:
int y = stoi("11"); // 字符串变整型
参考:link
加油!
感谢!
努力!



