如何利用简单的方法将string类型转换为int类型?(实用,简单易懂)

如何将string类型(字符串)转换为int类型(整型)呢?一定要用网上那些奇形怪状的函数吗?

其实不用系统给的函数,几行代码也可以解决这个问题。代码见下:
`
#include

#include

#include

#include

using namespace std;

string n;

int ans=0;

int main()

{

cin>>n;

int num=n.length();

for(int i=0;i<num;i++)

{

ans=ans+(n[i]-‘0’)*pow(10,(num-1-i));

}

cout<<“ans=”<<ans<<endl;

return 0;

}
`
其中,大家可能不知道三个东西,在这里我为大家解释:

  1. n.length()是什么?
  2. pow是什么?
  3. 为什么要减’0’?

第一个问题 length()是什么?简单的说,length()是一个无参函数,可以统计字符串的有效长度n.length就是统计字符串n的有效长度。length()包括在cstring头文件里面。
第二个问题 pow是什么?pow(x,y)就是计算x的y次方是多少。该函数包括在cmath头文件里。
最后一个问题 为什么要减’0’?因为n是一个字符串,n[i]是一个字符,如果将两者直接相加减,那么系统将把该字符直接转化成ASCII码,运算的就并非是n[i]本身这个数字了。要想拿数字相加减,就必须减去0的ASCII码,即减去’0’,便可以拿数字相加减,达到我们想要的int类型。比如:若n[i]为’1’,那么它的ASCII码便为81,此时再减去ASCII码为80的’0’,则得到这个数字本身:1(81-80=1)。

结语

string类型转换为int类型并非难事。也许在一些人看来还是使用c++自带的函数方便。但是本人亲自试过,网上的一些函数并不能使用,在背那些奇怪的函数名时,还不如自己编几行代码来实现转换。
本人是一个小白,有什么不同意见也希望大家留言给我~点个赞,让我看到你。

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值