首先看C++的:

C++要实现对浮点型数据小数位的保留,需要添加头文件<iomanip>,C++一共有三种小数保留方式,具体看代码实现更简便点。

#include<iostream>
#include<iomanip>
using namespace std;

int main()
{
double a = 3.141111;
double b = 3.149999;

//保留2位小数
cout << fixed << setprecision(2) << a << " " << b << endl;

//和上面的一样
cout << setiosflags(ios::fixed) << setprecision(2) << a << " " << b << endl;

//保留两位有效数字!!!!!!
cout.precision(2);
cout << a << " " << b << endl;

return 0;
}


输出如下:

C++与C的保留小数_四舍五入


看到上面输出也可以判断,保留小数遵循的是“四舍五入”原则。

注意,上述的设置一旦被启用将在程序中一直有效,直到你重新设置。


接下来看看C语言如何实现小数的保留问题:

#include<iostream>
using namespace std;

int main()
{
double a = 3.141111;
double b = 3.149999;

printf("保留两位小数:\n");
printf("%.2f ", a);
printf("%.2f\n", b);

return 0;
}

输出如下:


C++与C的保留小数_四舍五入_02


由上图也可以发现C语言同样是遵循“四舍五入”原则的。