次の関数は文字列を double に変換しますが、精度が十分ではありません。
double stringToDouble(string s) {
double d;
stringstream ss(s); //turn the string into a stream
ss >> d; //convert
return d;
}
stringToDouble("31.2458782523") で呼び出すと、出力は 31.2459 になります。
Boost ライブラリを使用せずにこれを改善する方法はありますか? より高い精度が欲しい。できるだけ高く。