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; 

posted @ 2016-04-22 19:39  微风&细雨  阅读(41478)  评论(2编辑  收藏  举报