C++中的string类型转换为int类型
今天遇见了⼀个题,感觉这个题很常见,所以就把它写下来,下次遇见感觉不太熟练的话,继续复习⼀下。
这个题⽐较简单,很容易做出来,但是这个题主要有⼀个关键点,那就是类型转化,主要是我按照⾃⼰的思路来写的⽅法会涉及到类型转化,⽤其他的⽅法肯定也会是不⼀样的。我的代码如下:
#include<iostream>
#include<cstdlib>
using namespace std;
int main()
{
string A,B;
while(cin>>A>>B)
{
long a,b;
int i,j,Q=0;
for(i=0;i<A.length();i++)c++中string的用法
{
a= int(A[i])-48;
for(j=0;j<B.length();j++)
{
b = int(B[j])-48;
Q =Q + a*b;
}
}
cout<<Q<<endl;
}
return0;
}
对于这种永远都不知道输⼊的数据有多⼤,有多长的时候,我总是习惯性地⽤string类型,我觉得那种类型适合各种各样的数据。ok,⾔归正传。
将string⾥⾯的单个字符⼀⼀转化为int类型的时候,可以考虑利⽤ASCII码。
例如“5”=int(‘5’)-48;
这种⽅法适合你需要将其进⾏⼀⼀转化。
另外⼀种就是atoi()等⼀系列⽅法
● atof():将字符串转换为双精度浮点型值。
● atoi():将字符串转换为整型值。
● atol():将字符串转换为长整型值。
⽽这个⽅法的使⽤如下:
char a[] ="4563";
int b;
b= atoi(a);
得出来的b=4563;
这边是第⼆种⽅法。
下次遇见了继续学习更新。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论