web-dev-qa-db-ja.com

C ++で小数点以下2桁を表示

同様のトピックはすでにフォーラムで議論されています。しかし、次のコードにはいくつかの異なる問題があります:

double total;
cin >> total;
cout << fixed << setprecision(2) << total;

入力を100.00として指定すると、プログラムは100だけを出力しますが、100.00は出力しません

100.00を印刷するにはどうすればよいですか?

23
DSKVP
cout << fixed << setprecision(2) << total;

setprecisionは、最小精度を指定します。そう

cout << setprecision (2) << 1.2; 

1.2を印刷します

fixedは、小数点以下に固定数の小数点があることを示します

cout << setprecision (2) << fixed << 1.2;

1.20を印刷します

56
Armen Tsirunyan

以下を使用して、C++で15桁の10進数を印刷することができます。

#include <iomanip>
#include <iostream>

cout << fixed << setprecision(15) << " The Real_Pi is: " << real_pi << endl;
cout << fixed << setprecision(15) << " My Result_Pi is: " << my_pi << endl;
cout << fixed << setprecision(15) << " Processing error is: " << Error_of_Computing << endl;
cout << fixed << setprecision(15) << " Processing time is: " << End_Time-Start_Time << endl;
_getch();

return 0;
3
soehtetZ

これを行う最も簡単な方法は、cstdioのprintfを使用することです。実際、私は誰もがprintfに言及したことに驚いています!とにかく、このようにライブラリを含める必要があります...

#include<cstdio>

int main() {
    double total;
    cin>>total;
    printf("%.2f\n", total);
}

これは、「合計」の値を出力します(それが%であり、次に,totalがすること) 2つの浮動小数点(それが.2fする)。そして、最後の\nは行末に過ぎず、これはUVaのオンラインコンパイラオプションの判定オプションで機能します。

g++ -lm -lcrypt -O2 -pipe -DONLINE_JUDGE filename.cpp

実行しようとしているコードは、このコンパイラオプションでは実行されません...

2
Bengalaa

ヘッダーファイルstdio.hを使用すると、cのように通常どおり簡単に実行できます。 %.2lf(指定子の後に特定の数値を設定します)を使用する前に、printf()を使用します。

小数点以下の特定の桁を単にprintfします。

#include <stdio.h>
#include <iostream>
using namespace std;
int main()
{
   double total=100;
   printf("%.2lf",total);//this prints 100.00 like as C
}
1

これはsetiosflags(ios :: showpoint)で可能になります。

1
woodleg.as