C++_数据类型转换

#include<sstream>头文件提供数据类型转换

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
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值