添加双精度数的所有数字

时间:2015-01-20 02:45:11

标签: c++ string numbers

所以我有一个将数字的所有数字相加的赋值,例如3256将是3 + 2 + 5 + 6 所以我所做的就是先将数字改成字符串并添加字符串的所有数字。 但是,问题是字符串只将它们作为字符并打印所有内容,例如我的数字是2 ^ 352 = 9.1779 e + 105

所以我的数组[1] =。

这就是我到目前为止所做的:

int calcular2()
{
    double r;
    r = pow(2, 352);
    n = 0;
    printf("2^352 es: %0.0f\n", r);

    std::ostringstream ostr;
    ostr << r;
    std::string resultado = ostr.str();

    for (int j = 0; j < 127; j++)
    {
        if (resultado[1] == '.')
            continue;
        n = resultado[j] + n;
    }

    printf("La suma de todos los digitos de 2^352 es:");
    printf("%d\n", n);

    return 0;
}

所以我不明白如何在resultado [j]中添加所有数字,以便它不考虑r为9.17799e + 105,因为resultado [8]打印为e并且到目前为止。

0 个答案:

没有答案