有2种方法。第一种可以用头文件sstream中自带的函数做
直接附代码吧,没什么好介绍的
#include<sstream>
#include<iostream>
using namespace std;//必要的,用到了 C++ 的特性
string NumberToString(int x){
stringstream ss;
ss<<x;
return ss.str();
}
int main(){
cout<<"输入:";
int x;
cin>>x;
string s=NumberToString(x);
for(int i=0;i<s.length();i++)
cout<<s[i]<<" ";
}
第二种方法不需要用到STL中的函数,不过比较复杂
先介绍一下思路:先获取这个数的位数,然后依次截取数的每一位,加入string中
附代码:
#include<string>
#include<cmath>
#include<iostream>
using namespace std;
short weishu(int x){
int ws=0,n=1;
do{
ws++;
n*=10;
}while(n<x);
return ws;
}
short jiequ(int x,int _x,int n){//x是要截取的数,_x是要截取的数的位数,n是要截取的位数
return x/(int)pow(10,_x-n)%10;
}
string NumberToString(int x){
const int n=weishu(x);
string s="";
for(int i=0;i<n;i++){
s+='0'+jiequ(x,n,i+1);
}
return s;
}
int main(){
cout<<"输入:";
int x;
cin>>x;
string s=NumberToString(x);
for(int i=0;i<s.length();i++)
cout<<s[i]<<" ";
}