Dog*_*Dog 34 c++ iostream scientific-notation
我需要阻止我的双重打印在我的文件中的科学记数法,
当我这样做
outfile << X;
Run Code Online (Sandbox Code Playgroud)
dav*_*ter 35
要设置浮动变量的格式,你可以使用的组合setprecision(n)
,showpoint
和fixed
.为了使用参数化流操纵器,setprecision(n)
您必须包含iomanip库:
#include <iomanip>
Run Code Online (Sandbox Code Playgroud)
setprecision(n)
:将浮动输出约束到n
位置,一旦设置它,它将被设置,直到您为流输出的其余部分显式取消设置它.
fixed
:将强制所有浮点数以相同的方式输出.所以,如果您的精度设置为4个地方,6.2
和6.20
都将输出为:
6.2000
6.2000
Run Code Online (Sandbox Code Playgroud)
showpoint
:将强制显示浮点变量的小数部分,即使未明确设置.例如,4
将输出为:
4.0
Run Code Online (Sandbox Code Playgroud)
一起使用它们:
outfile << fixed << showpoint;
outfile << setprecision(4);
outfile << x;
Run Code Online (Sandbox Code Playgroud)
这是一个使用示例 http://cplus.about.com/od/learning1/ss/clessontwo_4.htm
根据你的问题使用
std::cout << std::fixed << a << std::endl;
Run Code Online (Sandbox Code Playgroud)
所有上述答案都很有用,但没有一个直接回答这个问题.
outfile.setf(ios_base::fixed);
outfile << x;
Run Code Online (Sandbox Code Playgroud)
我在@moogs链接中找到了答案:http://www.cplusplus.com/reference/iostream/ios_base/fmtflags/
这是一个演示程序:http://ideone.com/FMxRp1