long double m;
cout << "enter double: "; cin >> m;
cout << "m = " << m <<endl;
入力:
double を入力してください: 1.546640625
出力:
m = 1.54664
ポイント付きのバイナリに変換する必要があり、2.359375000 のような数値を読み取ると
出力:
m = 2.35938
それは機能しますが、問題は 1.546640625 のゼロだと思います
double の値全体を読み取りました。問題はコートにあります。デフォルトでは、値は小数点以下 6 桁に丸められます。
精度 cout の使用を設定するには、 from を使用setprecision
し<iomanip>
ます。
#include <iostream>
#include <iomanip>
using namespace std;
int main() {
long double d;
cin >> d;
cout << setprecision(10) << d << endl;
return 0;
}