質問

私は次のようなダブルスで埋めたデータベースを持ってます:

1.60000000000000000000000000000000000e+01

誰もがC ++で、二重にそのような数値を変換する方法を知っていますか?

物事のこのタイプを行うには、「標準」方法はありますか?それとも私が自分自身の機能をロールバックする必要がありますか?

このような今私がやっているSTHます:

#include <string>
#include <sstream>



int main() {
    std::string s("1.60000000000000000000000000000000000e+01");
    std::istringstream iss(s);
    double d;
    iss >> d;
    d += 10.303030;
    std::cout << d << std::endl;
}

ありがとうございます。

役に立ちましたか?

解決

このような何か?これはそれを行うための「C ++」の方法でしょう...

#include <sstream>
using namespace std;

// ...

    string s = "1.60000000000000000000000000000000000e+01";
    istringstream os(s);
    double d;
    os >> d;
    cout << d << endl;

16を印刷します。

他のヒント

あなたは、標準C関数をしたい atofする([A] SCIIへ[F]フロート、それは実際、むしろフロートよりダブルスを使用する)。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top