从 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
C++ 转换:
我以这种形式从硬件收到信息:
x = 564
作为 int
.
我已经在float
中显示了这些信息:
xFloat = 56.4
作为 float
如果我这样做 x/10
我总是得到错误的结果:
56.5
instead of56.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