温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

字符串string与整数int如何在C++中实现互相转化

发布时间:2020-12-10 14:23:29 来源:亿速云 阅读:194 作者:Leah 栏目:开发技术

这期内容当中小编将会给大家带来有关字符串string与整数int如何在C++中实现互相转化,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

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

结果:

字符串string与整数int如何在C++中实现互相转化

2、浮点数

int main(int argc, const char * argv[]) {
  float n = 12345.67;//待转整数
  char strN[50];//转换后的字符串
  sprintf(strN, "%.2f", n);
  cout<<strN<<endl;
  return 0;
}

结果:

字符串string与整数int如何在C++中实现互相转化

上述就是小编为大家分享的字符串string与整数int如何在C++中实现互相转化了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注亿速云行业资讯频道。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI