std::istringstream
loses precision when converting a string to long double. Can I use something similar to std::fixed
or std::setprecision()
?
I am using c++ 11 and targeting QNX platform.
#include <iostream>
#include <string>
#include <sstream>
#include <iomanip>
int main(){
long double convertedNumber;
std::string numberString ("5.94865747678615882510631e+4931");
//From string to long double
std::istringstream iss(numberString);
iss >> convertedNumber;
std::cout<< std::setprecision(30) << numberString << "\n";
std::cout<< std::setprecision(30) << convertedNumber << "\n";
return 0;
}
The output is
5.94865747678615882510631e+4931
5.9486574767861588254e+4931