【发布时间】:2017-07-13 14:56:07
【问题描述】:
如教程http://www.cplusplus.com/reference/iomanip/setprecision/所示
// setprecision example
#include <iostream> // std::cout, std::fixed
#include <iomanip> // std::setprecision
int main () {
double f =3.14159;
std::cout << std::setprecision(5) << f << '\n'; // prints 3.1416 and not 3.141459 why
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';
return 0;
}
std::cout 行不打印 5 个十进制数字,但在设置 std::fixed 后,setprecision 有效正如预期的那样。这是为什么 ?。
std::setprecision()没有std::fixed有什么作用?
【问题讨论】:
标签: c++ c++11 stl precision iomanip