把字符串转化为整数的方法

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

把字符串转化为整数的⽅法
字符串转化为整数可能是实际编程中最常⽤到的⽅法了,因为因为string很容易通过下标对每⼀位的数字进⾏操作,但是却没办法实现int的加减乘除等,所以在实际编程中经常需要先⽤string 存下数据,操作完后再转化为int类型
有两种⽐较实⽤的⽅法可以实现
⽅法⼀:⾃⼰写⼀个函数来实现
class Solution {
public:
int StrToInt(string str)
{
int length=str.length();//先计算字符串的长度
if(length==0)
{
return 0;
}
int result=0;
int flag=1;
int i=0;
if(str[i]=='-')//只能是在数据的⾸位输⼊符号,所以只需要⼀次判断即可
{
flag=-1;
i++;
}
if(str[i]=='+')
{
flag=1;
i++;
}
while(str[i]!='\0')
{
if(str[i]==' ')//删掉数字前⾯的空格,因为不知道前⾯输⼊了多少个空格所以需要在while循环中
{
i++;
}
if(str[i]>='0'&&str[i]<='9')
{
result=(result*10+flag*(str[i]-'0'));
i++;
}
else
{
return 0;
}
}
return result;
}
};
⽅法⼆:调⽤库函数atio
#include<iostream>
#include<string>
#include<stdlib.h>
using namespace std;
int main()
{
string str;
cin>>str;
int result=0;
result=atoi(str.c_str());
cout<<result<<endl;
return 0;
}
stio函数的头⽂件是#include<stdlib.h>
string 是C++ STL定义的类型,atoi是 C 语⾔的库函数,所以要先转换成 char* 类型才可以⽤ atoi。

atoi函数原型
int atoi(const char *nptr);
c_str是Borland封装的String类中的⼀个函数,它返回当前字符串的⾸字符地址。

相关文档
最新文档