0

「0xAp-2」を含む文字列があります。それを double 値に変換したい:

#include <iostream>
#include <cstdio>

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

    double a;

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

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

atof と sscanf の両方を試しましたが、うまくいきません。答えが明白な場合は申し訳ありませんが、「sscanf」や「浮動小数点」などの用語でグーグルを検索してみました。

4

2 に答える 2

2

strtod関数はバイナリ科学表記法を解析できるはずだと思います。

于 2011-07-27T20:02:31.263 に答える
1

何かがそれを行う場合は、C99 の%Aor%aフォーマットがその仕事をするはずです。

于 2011-07-27T19:36:55.780 に答える