浮点精度 - C ++ 03

时间:2014-10-12 20:21:17

标签: c++ floating-point precision

假设我执行以下操作:

Example A:
float i = 123.0f;
std::cout << i;

我会得到输出123

我的问题是当std::cout的默认精度为6时,为什么我得到输出123?

1 个答案:

答案 0 :(得分:1)

您希望std::fixed显示这些无关紧要的零。默认情况下,为了便于阅读,会裁剪额外的零。

double f = 3.14159;
std::cout << std::setprecision(5) << f << '\n';
std::cout << std::setprecision(9) << f << '\n';
std::cout << std::fixed;
std::cout << std::setprecision(5) << f << '\n';
std::cout << std::setprecision(9) << f << '\n';

输出:

3.1416
3.14159
3.14159
3.141590000