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