ダブルコンバージョンへの科学的表記法C ++での文字列
-
19-09-2019 - |
質問
私は次のようなダブルスで埋めたデータベースを持ってます:
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]フロート、それは実際、むしろフロートよりダブルスを使用する)。
所属していません StackOverflow