ダブルがファイルに科学的記数法で印刷されるのを防ぐ必要があります。
私がこれをするとき
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(std::ios_base::fixed);
outfile << x;
@moogsリンクで答えを見つけました:http ://www.cplusplus.com/reference/iostream/ios_base/fmtflags/
これがデモプログラムです:http://ideone.com/FMxRp1
フォーマットフラグを使用できます