1

次のプログラムを実行しようとしていますが、動作しますが、小数点以下 6 桁を超える値を入力すると、2.999999 のように丸められたり切り捨てられたりします。

int main()
{

    double n=0, x=0; 

    while (cin >> n >> x) //will keep going until an integer is not entered
    {
       cout << "You entered the two integers " << x << " and " << n << endl;

       if (x-n <= (1.0/10000000) && n-x <= (1.0/10000000)) 
          cout << "The numbers are almost equal" << endl;
    }

return 0;

}
4

1 に答える 1

1

を使用して、出力する値の精度を変更できますstd::setprecision

cout << "You entered the two integers " << setprecision(20) << x
     << " and " << n << endl;

イデオンへのリンク。

于 2012-09-12T21:40:05.580 に答える