string与int类型互换
作者:
码上成功
,
2024-02-16 22:17:30
,
所有人可见
,
阅读 57
string与int类型互换
方法一(调用函数)
函数的时间复杂度均为O(n)
1. int类型转换为string
函数: to_sring(); //头文件为#include<string>
int a=12345;
string s=to_string(a);
2.string类型转换为int
函数:atoi();//头文件为#include<cstdlib>(此文件中还有atol、atoll、atof等分别对应转换为长整型、长长整型、浮点型)
string s="12345";
int a=atoi(s.c_str());
方法二(手动实现)
1. int类型转换为string
string tostring(int x)
{
int sum=0;
int cx=x; //copy x的值
while(cx) //统计x是几位数
{
cx/=10;
sum++;
}
int t=1;
for(int i=1;i<sum;i++) t*=10;//t和x必须位数相同,所以i从1开始
string s;
for(int i=0;i<sum;i++)//按位分解
{
s+=((x/t)%10)+'0';
t/=10;
}
return s;
}
2.string类型转换为int
int stoint(string s)
{
int num=0;
for(int i=0;i<s.size();i++)
{
num=num*10+(s[i]-'0');
}
return num;
}
提供一个C++黑科技
头文件
#include<stringstream>
用法