C++_数据类型转换

匿名 (未验证) 提交于 2019-12-03 00:22:01
int main() {       //字符串转化成整数      int A;       string s;      cin>>s;      stringstream seam;//随意的什么类型都可以输入      seam<<s;//向流中传入值s     字符串型      seam>>A;//向A中写入值A      整型      cout<<A;       **//到此字符串转换成整数成功**      //整数装换成字符串     int B;     cin>>B;     seam.clear();//重复利用的时候,清空缓存      seam<<B;     seam>>s;     cout<<s; }

input:1234(字符串) 对应output:1234整数
input:6547(整数) 对应output:6547(字符串)

除此之外的另外2种函数转换方式:
- 字符串转换成整数 atoi

include<iostream> include<string> include<stdio.h>//printf的头文件  include <stdlib.h>//atoi的头文件  using namespace std;  int main(){ /****************字符串转换成整数*****************/  //方法一:atoi函数 字符数组转换成整数   char str1[10]="123"; //实际上4个字符   int a = atoi(str1);  printf("%d\n",a);    /* string str2="12345"; int b=atoi(str2);  这种写法错误,()内必须是字符型数组  */ //方法二:求和法 char arr[]={'4','3','5','1','\0'}; int i=0,temp,sum=0;   while(arr[i]){     temp = arr[i]-'0';     sum = sum*10+temp;     i++;   }    printf("%d\n",sum);  }
  • 整数转换成字符串itoa
include<iostream> include<string> include <stdlib.h>//itoa的头文件  using namespace std;  int main(){ /****************整数转换成字符串*****************/   //方法一:itoa函数   int num1=521;   char str1[10]; //实际上4个字符   itoa(num1,str1,10);  cout<<str1<<endl; //方法二:将整数的每位转换为字符,然后再逆序保存 int num=435,i=0,j=0; char temp[7],str[7]; //将整数的每位转换为字符    while(num){    temp[i]=num%10+'0';    i++;    num=num/10;     }    temp[i] = 0;  //最后加上字符串结束符'\0'    //cout<<temp;输出结果是534    //逆序保存     i--;    while(i>=0){     str[j]=temp[i];     i--;     j++;   }   str[j]=0;   //最后加上字符串结束符'\0'   cout<<str;//输出结果是435 }
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!