C ++如何将相对错误与`cout`一起使用?
C++ How to use relative error with `cout`?
在准备我的第一次编码面试时,我发现了一个问题,要求我打印一个绝对或相对错误为 10^(-6)
的双数。
我怎样才能用 cout
做类似的事情?
double test_var; // Holding Some value which changes according to my program.
cout << test_var << endl;
另外,在预期的输出中我看到了像 1000.00
这样的数字我怎样才能打印那些 .00
呢?
所以我认为这些设置或修复很复杂
有一种简单的方法可以实现您的目标
printf("%.6lf",test_var);
所以%.6lf
表示保留变量的6分位数
你本可以使用 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
}
在准备我的第一次编码面试时,我发现了一个问题,要求我打印一个绝对或相对错误为 10^(-6)
的双数。
我怎样才能用 cout
做类似的事情?
double test_var; // Holding Some value which changes according to my program.
cout << test_var << endl;
另外,在预期的输出中我看到了像 1000.00
这样的数字我怎样才能打印那些 .00
呢?
所以我认为这些设置或修复很复杂
有一种简单的方法可以实现您的目标
printf("%.6lf",test_var);
所以%.6lf
表示保留变量的6分位数
你本可以使用 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
}