在准备我的第一次编程面试时,我发现了一个问题,我被要求打印一个绝对或相对错误为10^(-6)
的双数字。
我怎么能对cout
做这样的事情呢?
double test_var; // Holding Some value which changes according to my program.
cout << test_var << endl;
另外,在预期的输出中,我看到了1000.00
这样的数字,我怎么能打印这些.00
呢?
你可以使用std::setprecision
#include <iostream>
#include <iomanip>
int main()
{
double f =3.14159;
std::cout << std::setprecision(5) << f << 'n'; //prints 3.1416
std::cout << std::setprecision(9) << f << 'n'; //prints 3.14159
std::cout << std::fixed; //Modifies the default formatting for floating-point input/output.
std::cout << std::setprecision(5) << f << 'n'; //prints 3.1416
std::cout << std::setprecision(9) << f << 'n'; //prints 3.141590000
}
所以我认为这些设置或修复是很复杂的
有一个简单的方法来实现你的目标
printf("%.6lf",test_var);
所以%.6lf
表示保留变量