如何限制"e"之前的小数位?

dan*_*007 0 c++ printf

我想在格式为"1.00e6"的C++中打印一个浮点变量x,其中我只需要在e之前的小数点后2位.

阅读本文:http://www.cplusplus.com/reference/cstdio/printf/,我不确定使用哪个说明符.这可以用C++完成吗?

tao*_*ocp 7

您可以在C++中执行相同的操作:

 double f = 1.00e6;
 std::cout.precision(2);
 std::cout << std::scientific;
 std::cout<<f <<std::endl;
 It will output: 1.00e+06 in this case.
Run Code Online (Sandbox Code Playgroud)

编辑:正如@ user657267指出的那样,还有一个操纵器precision,

 double f = 1.00e6;
 std::cout << std::setprecision(2) << std::scientific << f << '\n';
Run Code Online (Sandbox Code Playgroud)

应该有同样的效果.