C では、次のようなステートメントがあります。
printf("%6.3f ",floatNumber);
印刷時の桁数を制限します。
で同様の動作を実現するにはどうすればよいC++
ですか? 私は知っsetprecision
ていますが、それは私がまったく同じことをするのに役立ちません.
C では、次のようなステートメントがあります。
printf("%6.3f ",floatNumber);
印刷時の桁数を制限します。
で同様の動作を実現するにはどうすればよいC++
ですか? 私は知っsetprecision
ていますが、それは私がまったく同じことをするのに役立ちません.
%6.3f
標準の iostream マニピュレータのみを使用して指定されたものと同様の形式を取得するには、次のようにします。
std::cout << std::fixed << std::setw(6) << std::setprecision(3) << f;
具体的には、フォーマット文字列std::fixed
と同じ基本フォーマットを示します。f
たとえば、'precision' は、フォーマット文字列と ostream の両方で同じことを意味します。std::setprecision(3)
次に、実際に精度をstd::setw(6)
設定し、フィールド幅を設定します。設定しstd::fixed
ないと、書式文字列で指定されたものと同様の書式が得られます"%6.3g"
。
setw
これらのマニピュレータ以外はスティッキーであることに注意してください。つまり、1 つの変数が出力された後も有効なままです。