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」了。


参考文章:

关于保留小数点后几位数字之我见

cout控制輸出的小數點位數


C++ 输出时保留的小数位数
https://slw.im/2016/08/c-decimal-precision/
作者
Ryo Shen
发布于
2016年8月29日
许可协议