ファイルに科学表記法で印刷するために二重を防ぐ必要があります。
私がこれをするとき
outfile << X;
浮動変数のフォーマットを設定するには、 setprecision(n)
、 showpoint
および fixed
の組み合わせを使用できます 。 setprecision(n)
のようなパラメータ化されたストリームマニピュレータを使用するには、iomanipライブラリを含める必要があります。
#include <iomanip>
setprecision(n)
:フローティング出力をn
の場所に制限し、一度設定すると、残りのストリーム出力に対して明示的に設定解除するまで設定されます。
fixed
:すべての浮動小数点数が同じように出力されるように強制します。したがって、精度が4桁に設定されている場合、6.2
、および6.20
はどちらも次のように出力されます。
6.2000
6.2000
showpoint
:明示的に設定されていなくても、浮動小数点変数の小数部分が強制的に表示されます。たとえば、4
は次のように出力されます。
4.0
それらをすべて一緒に使用する:
outfile << fixed << showpoint;
outfile << setprecision(4);
outfile << x;
これが使用例です http://cplus.about.com/od/learning1/ss/clessontwo_4.htm
あなたの質問に従って
std::cout << std::fixed << a << std::endl;
上記の回答はすべて役に立ちましたが、質問に直接回答するものはありません。
outfile.setf(ios_base::fixed);
outfile << x;
私は@moogsリンクで答えを見つけました: http://www.cplusplus.com/reference/iostream/ios_base/fmtflags/
これがデモプログラムです: http://ideone.com/FMxRp1
あなたはフォーマットフラグを使うことができます