对于C++里面数字字符转换为数字

//这个例子比较简单,可以使用string接收输入,再用(sin[i]-'0' == j) 
把字符串分成数字,因为不管什么样的数据类型都无法放1000位的整数
/*1、判断这个值的范围 如果是'0''9' 减去'0'就是想要的整数的。*/
因为ASC码48就是'0',也就是说'0'的值是48,而后依次是'1''9'。
这样正好是char型减去48就是它对应的int值
不过这样写不好理解,直接写成str[i]-'0'就好。
下面给出两种写法
    string sin;
    int ans[10] = {0};
    cin >> sin;
    for (int i=0;i<sin.length();i++)
    {
        for(int j=0;j<10;j++)
        {
            if((sin[i]-'0' == j))
            {
               ans[j]++ ;
               break;
            }
        }
    }
if((str[a-1]-48)%2==0){
        if(str[0]=='-'){
            c=1.5;
            sum=c*((double)b/(a-1))*2;
        }else{
            c=1;
            sum=c*((double)b/(a))*2;
        }
    }

猜你喜欢

转载自blog.csdn.net/weixin_38505045/article/details/80515265
今日推荐