0

我有一个包含“0xAp-2”的字符串。我想将其转换为双精度值:

#include <iostream>
#include <cstdio>

int main()
{
    char array[] = "0xAp-2";

    double a;

    sscanf(array, "%lf", &a);

    std::cout << a << "\n";
}

我已经尝试过 atof 和 sscanf,但无法使其正常工作。如果答案很明显,我深表歉意,但我已经尝试使用“sscanf”和“floating hexadecimal”等术语搜索谷歌。

4

2 回答 2

2

我相信该strtod函数应该能够解析二进制科学记数法。

于 2011-07-27T20:02:31.263 回答
1

如果有任何事情要做,C99中的%Aor格式应该可以完成这项工作。%a

于 2011-07-27T19:36:55.780 回答