Floating point 从int转换为float,可能是四舍五入?

Floating point 从int转换为float,可能是四舍五入?,floating-point,integer,converter,c++builder,Floating Point,Integer,Converter,C++builder,C++转换: 我从以下形式的硬件接收信息: x=564asint 我已在float中显示此信息: xFloat=56.4asfloat 如果我做了x/10我总是得到错误的结果: 56.5而不是56.4 这是一个综合问题还是我的硬件不能提供正确的信息?您可以使用这样的代码 int x = 564; double num = x / 10.0; 请注意,在C++中,缺省小数是“代码>双< /代码>。< /P> 您也可以尝试使用以下方法: int x=564; float f=(float)x/10

C++转换:

我从以下形式的硬件接收信息:

x=564
as
int

我已在
float
中显示此信息:

xFloat=56.4
as
float

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

56.5
而不是
56.4


这是一个综合问题还是我的硬件不能提供正确的信息?

您可以使用这样的代码

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

请注意,在C++中,缺省小数是“代码>双< /代码>。< /P> 您也可以尝试使用以下方法:

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