同様のトピックはすでにフォーラムで議論されています。しかし、次のコードにはいくつかの異なる問題があります:
double total;
cin >> total;
cout << fixed << setprecision(2) << total;
入力を100.00
として指定すると、プログラムは100
だけを出力しますが、100.00
は出力しません
100.00
を印刷するにはどうすればよいですか?
cout << fixed << setprecision(2) << total;
setprecision
は、最小精度を指定します。そう
cout << setprecision (2) << 1.2;
1.2を印刷します
fixed
は、小数点以下に固定数の小数点があることを示します
cout << setprecision (2) << fixed << 1.2;
1.20を印刷します
以下を使用して、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;
これを行う最も簡単な方法は、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
実行しようとしているコードは、このコンパイラオプションでは実行されません...
ヘッダーファイル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
}
これはsetiosflags(ios :: showpoint)で可能になります。