setprecision、fixed、showpointの使用法の概要(クラシック!!!スーパークラシック!!!)



Summary Usage Setprecision



声明:この記事はから複製されます 7つのナイフ

最初にヘッダーファイルを追加します:iomanip

1つ:setprecision

機能:出力ストリームを制御して浮動小数点数の数を表示します。setprecision(n)は出力nの数であり、丸めが行われます。
例:double s = 20.783000、



cout<1)<//Output 2e+001, because a number is to be output, so only 2. cout<2)<//Output 21. cout<3)<//Output 20.8. cout<6)<//Output 20.7843. cout<7)<//Output 20.7843. cout<8)<//Output 20.7843.

小数部の末尾が0の場合、出力できないことがわかります。出力するには、showpointを使用する必要があります。
特別なリマインダー:
これらのステートメントの後にさらに2つのステートメントを追加すると、次のようになります。

cout<<1<cout<<1.00800<

何が出力されると思いますか?
最初の出力:1。浮動小数点型ではありません。
2つ目は1.008です。 setprecision(8)のこのルールステートメントを取ります。
注意:
直接声明がある場合



int main() { cout<<1<cout<<1.00<

最初の出力:1。
2つ目も次のとおりです。1。整数出力

2:setprecisionとshowpoint

構文:出力ステートメントの前に宣言します:cout.setf(ios :: showpoint)
例:double s = 20.7843000、コードは次のとおりです。

cout.setf(ios::showpoint) cout<1)<//Output 2.e+001, note that there is an extra '.' between 2 and e. cout<2)<//Output 21. Multiple points! cout<3)<//Output 20.8. cout<6)<//Output 20.7843. cout<7)<//Output 20.78430. cout<8)<//Output 20.784300.

必要な数のデータが出力されることがわかります!
特別なリマインダー:
これらのステートメントの後にさらに2つのステートメントを追加すると、次のようになります。



cout<<1<cout<<1.0080<

何が出力されると思いますか?
最初の出力:1。浮動小数点型ではありません。
2つ目も1.0080000です。 setprecision(8)のこのルールステートメントを取ります。

3:setprecisionとfix​​ed

小数点以下の桁数を維持したい場合は、setprecisionがfixedで機能する必要があります。 !
構文:出力ステートメントの前に宣言します:cout.setf(ios :: fixed)
例:double s = 20.7843909、コードは次のとおりです。

cout.setf(ios::fixed) cout<1)<//Output 2.8. cout<2)<//Output 21.78. Multiple points! cout<3)<//Output 20.784. cout<6)<//Output 20.784391. cout<7)<//Output 20.7843909. cout<8)<//Output 20.78439090.

特記事項:
これらのステートメントの後にさらに2つのステートメントを追加する場合:

cout<<1<cout<<1.008<

何が出力されると思いますか?
最初の出力:1。
2つ目は1.00800000です。
setprecision(8)のルールステートメントを継承することであり、浮動小数点型は小数点以下8桁を保持します。それは整数ですか、それとも整数ですか! )。
このステートメントは、次のように書くこともできます。

cout<

たとえば、次のステートメントがあります。

cout<

4:setprecision、showpoint、fixed

cout<2)<<123.456<//The output result is 123.46 cout<12345.0006666<//Output 12345.0 cout<2)<<123.456<

例:double s = 20.7843909
1.文章があります

cout<

2.文があります:

cout<

3.文があります:

cout<

4.文があります:

cout<

5.文があります:

cout<