问个比较白痴的问题。。。
signed short类型如何转换成float?
代码如下:
signed short a = 256;
float b = (float)(a/100);
printf("%.2f",b);
运行后显示是2.00,该怎么转换才能保留小数点后面的数?
[解决办法]
100修改为100.0
[解决办法]
float b = (float)(a/(float)100);
[解决办法]
。a/100结果取整 2,如果是a/100.0结果就有小数部分2.560000
[解决办法]
a / 100 是整除,最后得到的肯定是整数2,然后转换为float变成2.00;
要得到2.56最简单的方法楼上已经说了,两种改法都可以。只不过100改成100.0之后得到的应该是double型,在这里没什么关系。总之要注意类型自动转换就是了。
[解决办法]
a / 100 是整除 ,float b = (float)a/100;
[解决办法]
++
[解决办法]
100改成100.0,即可
编译器会自动帮你转换的!