#include <iostream>
#include <iomanip>
#include <limits>
using namespace std;
int main() {
const long double longDoublePI = 3.141592653589793238;
cout << setw(16) << "longDoublePI = " << setprecision(numeric_limits<long double>::digits10 + 1) << longDoublePI << endl;
return 0;
}
But the result output is:
longDoublePI = 3.141592653589793116
Why the answer is wrong?