问个比较白痴的有关问题。
问个比较白痴的问题。。。signed short类型如何转换成float?代码如下:signed short a 256float b (float
问个比较白痴的问题。。。
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);
[解决办法]
正解,float b = a/100.0;即可,无需强转,编译器自动进行隐式转换
。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,即可
编译器会自动帮你转换的!