从 int 转换为 float,可能向上舍入?

Convert from int to float, possible round up?

C++ 转换:

我以这种形式从硬件收到信息:

x = 564 作为 int.

我已经在float中显示了这些信息:

xFloat = 56.4 作为 float

如果我这样做 x/10 我总是得到错误的结果:

56.5 instead of 56.4.

这是综合问题还是我的硬件可能没有提供正确的信息?

您可以使用这样的代码

int x = 564;
double num = x / 10.0;

请注意,在 C++ 中,默认的小数位是 double

您也可以尝试使用这些:

int x=564;
float f=(float)x/10;    //56.400002    
float f1=x/10.0;        //56.400002
float f11=x/10.0f;      //56.400002
double d=(double)x/10;  //56.400000
double d1=x/10.0;       //56.400000