9
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 のゼロだと思います

4

1 に答える 1

12

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;
}
于 2012-10-28T09:18:39.073 に答える