我需要阻止我的双重文件以科学记数法打印在我的文件中,
当我这样做时
outfile << X;
答案 0 :(得分:34)
要设置浮动变量的格式,您可以使用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;
答案 1 :(得分:6)
答案 2 :(得分:6)
以上所有答案都很有用,但没有一个直接回答这个问题。
outfile.setf(ios_base::fixed);
outfile << x;
我在@moogs链接中找到了答案:http://www.cplusplus.com/reference/iostream/ios_base/fmtflags/
这是一个演示程序:http://ideone.com/FMxRp1
答案 3 :(得分:2)