如何用了round(x0.03100)/100?(关键词-保留两位小数)

img

求解此题,四舍五入问题,用了round(x0.03100)/100;来保留两位小数,但输入样例,输出的是3.01,并没有起到四舍五入的效果;
而直接用round(301.5)/100;则可以得到3.02,请问一下这是什么原因

供参考:

#include <stdio.h>
int main()
{
    int  n;
    double x, total, interest;
    scanf("%lf%d", &x, &n);
    switch(n){
         case 1: interest = n * x * 0.030; break;
         case 2: interest = n * x * 0.033; break;
         case 3: interest = n * x * 0.038; break;
         case 4: interest = n * x * 0.040; break;
         default:interest = n * x * 0.042; break;
    }
    interest = (interest * 100 + 0.5) / 100.0;
    total = x + interest;
    printf("interest=%.2f, total=%.2f", interest, total);
    return 0;
}
对啊,四舍五入啊,100*0.03100,当然是3.01
100*0.03150才能进位