これらは1つではなく5つの質問のようです。ともかく:
std::fixed
この表記法がより適切である科学表記法を使用するのではなく、常に固定点形式が必要であることを示すために使用されます。合理的に値を表すために必要な多くの数字がある場合、フォーマットは使用を切り替えますx.yyyyyyEee
(あなたは常に科学形式を使用して使用するように依頼することができますstd::scientific
).std::setw()
どの値がフォーマットされているかは気にしません!値がフォーマットされ、正の存在がある場合out.width()
セット、出力はパッド入りますout.fill()
少なくともキャラクターout.width()
幅の広い文字。出力がより大きい場合out.width()
とにかく、パディングは発生しません。各出力操作の後[かかりますout.width()
考慮に入れるout.width()
にリセットされています0
(他のすべてのフォーマットオプションは自動的にリセットされません)。- 象徴、数千のセパレーター、小数点などを含む幅にカウントされます。小数点は精度にカウントされません。
out.precision()
わずかな数字の数(forstd::fixed
フォーマット)または非exponentの数字の数(std::scientific
フォーマット)。 - 幅は、出力によって満たされる文字の数であり、精度は生成される[分数]数字の数を指定します。
- バイナリの浮動小数点値は、小数点以下の数字を表すことができます(
float
通常6です。使用して安全に使用できる数桁数を確認できますstd::numeric_limits<float>::digits10
)。それ以上の数字を使用しようとすると、小数値を処理するときにバイナリ値を処理する場合、おそらく予期しない出力が発生する可能性があります。std:numeric_limits<float>::digits
場所)。あなたは見たいかもしれません すべてのコンピューター科学者が浮動小数点算術について知っておくべきこと.