C++ 字符串string和整数int的互相转化操作
程序员文章站
2022-06-24 10:00:40
一、string转int的方式1、采用最原始的string, 然后按照十进制的特点进行算术运算得到int,但是这种方式太麻烦,这里不介绍了。2、采用标准库中atoi函数。string s = "12"...
一、string转int的方式
1、采用最原始的string, 然后按照十进制的特点进行算术运算得到int,但是这种方式太麻烦,这里不介绍了。
2、采用标准库中atoi函数。
string s = "12";
int a = atoi(s.c_str());
对于其他类型也都有相应的标准库函数,比如浮点型atof(),long型atol()等等。
3、采用sstream头文件中定义的字符串流对象来实现转换。
istringstream is("12"); //构造输入字符串流,流的内容初始化为“12”的字符串 int i; is >> i; //从is流中读入一个int整数存入i中
二、int转string的方式
1、采用标准库中的to_string函数。
int i = 12;
cout << std::to_string(i) << endl;
不需要包含任何头文件,应该是在utility中,但无需包含,直接使用,还定义任何其他内置类型转为string的重载函数,很方便。
2、采用sstream中定义的字符串流对象来实现。
ostringstream os; //构造一个输出字符串流,流内容为空 int i = 12; os << i; //向输出字符串流中输出int整数i的内容 cout << os.str() << endl; //利用字符串流的str函数获取流中的内容
字符串流对象的str函数对于istringstream和ostringstream都适用,都可以获取流中的内容。
补充知识:c++ 将整数、浮点数转为字符串
前言:
用 sprintf可以把整数、浮点数转为字符串。
1、整数
int main(int argc, const char * argv[]) { int n = 12345;//待转整数 char strn[50];//转换后的字符串 sprintf(strn, "%d", n); cout<<strn<<endl;//输出 return 0; }
结果:
2、浮点数
int main(int argc, const char * argv[]) { float n = 12345.67;//待转整数 char strn[50];//转换后的字符串 sprintf(strn, "%.2f", n); cout<<strn<<endl; return 0; }
结果:
以上这篇c++ 字符串string和整数int的互相转化操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
推荐阅读
-
C++中string和字符串之间的相互转换
-
C++ string类和字符串的访问和拼接操作
-
php中字符串和整数比较的操作方法
-
c++编写递归函数char *itostr (int n,char *string),该函数将整数n转换为十进制表示的字符串。
-
C++中字符串和int\float\char*类型的相互转换
-
C++ string、int和char的相互转换
-
C++实现用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型
-
C++ 字符串string和整数int的互相转化操作
-
JavaScript字符串String和Array操作的有趣方法_javascript技巧
-
JavaScript字符串String和Array操作的有趣方法_javascript技巧