C++小技巧之四舍五入与保留小数
四舍五入:保留整数 int a = b+0.5;
保留一位小数 int a=(b+0.05)*10;
double c=a/10;
保留二位小数 int a=(b+0.005)*100;
double c=a/100;
(上面的方法仅适用于正数。)
如果需要对负数进行转换,可以为这个负数加上一个足够大的正整数,使得和变成正数,然后四色五入后再减去前面加上的正整数就好
如: 对 -3.4进行四舍五入
double a = -3.4+5 = 1.6
int b = (1.6+0.5) = 2
int answer = 2 -5 = -3
这儿有个坑, 如 -3.5, 四舍五入应该是-3 而不是-4
强制保留两位小数:include<iomanip>
cout<<setiosflags(ios::fixed)<<setprecision(2)<<a<<endl;