C/C++ 字符串与数字之间的转化

454 阅读1分钟

C++推荐使用STL中的strngstream。

字符串转化为数字

#include<cstdio>
#include<iostream>
#include<algorithm>
#include <string>
#include <sstream>

using namespace std;
int main(){
    string a="521";//float和double等等一样
    stringstream s;
    int b;
    s<<a;
    s>>b;
    cout<<a<<" "<<b*2<<endl;
    return 0;
}


数字转化为字符串:

#include<cstdio>
#include<iostream>
#include<algorithm>
#include <string>
#include <sstream>

using namespace std;
int main(){
    int a = 521;//float和double等等一样;
	string b;
    stringstream s;
    s << a;
    s >> b;// 写b= s.str();也可以 
	cout<<b<<endl<<a;
    return 0;
}

*C语言中推荐使用atoi,atof,atol,itoa,ltoa;

字符串转化为数字atoi,atof,atol

#include<stdio.h>
#include<stdlib.h>

int main(){
    char *a="521";//这里必须是字符数组
    int b=atoi(a); //float和double同理
    printf("%d",b*2);
    return 0;
}

数字转化为字符串:itoa,ltoa

#include<stdio.h>
#include<stdlib.h>

int main(){
    int a=521; //long 同理
    char *b;
	itoa(a,b,10);
    printf("%s",b);
    return 0;
}