我想在 C++ 中以“1.00e6”格式打印一个浮点变量 x,其中我只想要 e 之前的小数点后 2 位。
阅读此内容:http ://www.cplusplus.com/reference/cstdio/printf/ ,我不确定要使用哪个说明符。这可以在 C++ 中完成吗?
你可以在 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.
编辑:正如@user657267 所指出的,还有一个操纵器precision
,
double f = 1.00e6;
std::cout << std::setprecision(2) << std::scientific << f << '\n';
应该有同样的效果。
如果您在任何类 Unix 系统(OS X、Linux、BSD 等)上,请阅读printf()
with的文档。通常,您使用 指定精度,其中是所需的精度:man 3 printf
.N
N
#include <stdio.h>
int main()
{
printf("%.2e\n", 1.0);
}
输出:
1.00e+00
我已经给出了 C 代码,因为这确实是关于 C 标准库的问题,它是 C++ 标准的一部分。