字符串转整数

1. 使用atoi函数

原型:

int atoi(const char*nptr);

头文件:stdlib.h

示例:

#include <stdlib.h>
#include <stdio.h>
 
int main(void)
{
    int n;
    char *str = "12345.67";
    n = atoi(str);
    printf("int=%d\n",n);
    return 0;
}

2 . 使用字符串流

int stringToInt(string str)
{
    istringstream sstr(str);
    int result;
    sstr >> result;
    return result;
}

3. 直接计算

计算每一个数的位数

int stringToInt(string str)
{
    int result=0;
    for (int i = str.size()-1; i>=0; --i)
        result += (str[i]-'0')*pow(10, str.size()-1-i);
    return result;
}

乘10累加

int stringToInt(string str)
{
    int result=0;
    for (int i = 0; i<=str.size()-1; ++i)
        result = result*10+(str[i]-'0');
    return result;
}

 

posted @ 2015-08-28 22:39  Rosanne  阅读(156)  评论(0编辑  收藏  举报