C++ 输出时保留的小数位数
cout语句中有一个专门用来控制小数位数的函数(setprecison),可以方便地输出不同的小数位数。
这个函数需要包含头文件#include <iomanip>
我们来看看用法:
cout << setprecision(输出位数) << 变量/数字 << endl;
例如:
cout << setprecision(2) << 3.123 << endl;
我们得到的结果就是「3.12」。
但需要注意下一个例子:
cout << setprecision(4) << 3.123456 << endl;
这时输出的结果就是「3.1235」。
因为setprecision函数取到最后一位时,会自动四舍五入。(类似于C中printf的%.5f,也会四舍五入)
那如何不要四舍五入呢?很简单就是加上fixed:
cout << fixed << setprecision(输出位数) << 变量/数字 << endl;
我们来看刚刚那个例子:
cout << fixed << setprecision(4) << 3.123456 << endl;
这时输出的结果就是我们想要的「3.1234」了。
参考文章:
C++ 输出时保留的小数位数
https://slw.im/2016/08/c-decimal-precision/