如何在C ++中将uint16_t转换为float

时间:2018-07-12 14:36:22

标签: c++11 casting floating-point c++14 uint16

我正在MacOS High Sierra上运行C ++ 14。

我从方法中返回了uint16_t,其值的范围从100到8000左右。

我想将其转换为float。因此,如果它是289,则float应该是289.0。我正在尝试所有不同的方法来强制转换uint16_t,但我的float变量总是为零。

uint16_t i_value = 289;

尝试过:

float f_value = static_cast(i_value);

并尝试了此操作

float f_value =(float)i_value;

但是没有任何效果。

问题:
如何将uint16_t转换为float

1 个答案:

答案 0 :(得分:2)

这是implicit conversion(双向),不需要强制转换:

uint16_t i_value = 289;
float f = i_value;