简单方法:
使用提供的stringstream类完成操作,该类位于<sstream>头文件中。
#include <sstream> #include <string> //数字转字符串 string num2str(int i) { stringstream ss; ss<<i; return ss.str(); } //字符串转数字 int str2num(string s) { int num; stringstream ss(s); ss>>num; return num; }
缺点是处理大量数据转换速度慢。
二)比较有效的方法
使用C library中的sprintf,scanf。
头文件:#include<stdio.h>
用sprintf函数将数字输出到一个字符缓冲区中,从而进行转换。
#include<iostream> #include<string> using namespace std; string num2str(int a) { char c[100]; sprintf(c,"%d",a); string s(c); return s; } int str2num(string s) { int i; char str[100]; strcpy(str,s.c_str()); sscanf(str,"%d",&i); return i; } int main() { int a; cin>>a; string s=num2str(a); cout<<s<<endl; string sd; cin>>sd; int i=str2num(sd); cout<<2*i<<endl; }