c++ char*转int转double正负都可以转

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/weixin_41913666/article/details/82262587

靠自己勤劳的双手与智慧...上代码,可以转载。有好的逻辑请留言,万般感谢!

double sqrt(double sum,int i)

    double root = sum;
    while (i>0,i--)
        sum *= root;

    return sum;
}

double hexToDec(char *str)
{
    int i = 0;
    float sumd = 0.0;
    double sumf = 0.0;
    bool error = false;
    bool negative = false;
    

    for (; *str; str++) {

        if (*str == '-') {
            negative = true;
            continue;
        }
        if (*str == '.') {
            error = true;
            continue;
        }

        if (error)
        {
            sumf = sumf + (*str - '0')/sqrt(10.0,i);
            i++;
        }
        else {
            sumd = 10.0 * sumd + (*str - '0');
        }
    }

    if (negative)
        sumd = -(sumd + sumf);
    else 
        sumd += sumf;

    return sumd;
}

c++ stdlib.h内有现成的函数:

    int i = atoi("66");
    double f =atof("2013.14");

展开阅读全文

没有更多推荐了,返回首页