int ss_bat_temp = 294; //a temperatur in 0.1 Celsius
fvalue = (float) ss_bat_temp / 10;
short svalue = (short)(fvalue);
但它不起作用。
结果是0x001D而不是0x0DBE。有什么问题?
有人能帮助我吗?
答案 0 :(得分:0)
Float是一个8字节长,short是4(我认为)。当从float转换为short时,你会失去那些信息,因为你必须将它缩小。