如何在变量内设置浮点精度

我目前正在编写一个程序,我需要在浮点后计算舍入值到2位数。 说,我已经宣布了

float a; 

如果a = 3.555那么它将存储a = 3.56 ,向上舍入。

对于a = 3.423 ,a的值将是a = 3.423 ,没有变化。

我可以这样做来打印输出,但是在将它存储到变量中并将该变量用于其他计算时我需要做什么?

如果小数点后需要两位数,请不要使用浮点数。 请改用固定点数。 例如,只使用比您想要表示的十进制数大100倍的整数。 试图将基数为2的浮点数拟合到这样的舍入规则中,这对您来说不会产生令人满意的结果。

  double d = 5000.23423; d = ceil(d*100)/100; cout << d << endl; // prints : 5000.24 double e = 5000.23423; e = floor(e*100)/100; cout << e << endl; // prints : 5000.23 

你可以这样做:

 a = roundf(a*100)/100; 

怎么样

 #include  int main () { double a, f, i; a = 3.436; f= modf(a, &i); a = i + roundf(f* 100.0) / 100.0; return 0; } 

在双打上操作,但避免缩放整数。

更新 :添加了缺失的部门。