我试图使用printf
功能给出去的浮标变量的值负浮点数我只能用%d
,这里是我迄今所做的:的printf使用%d
.............................
float var =0.0;
// the value will set from another function
var *= 100000;
printf("X[%d.%04d] \n",(int)(var/100000),((int)var)%100000));
...............
这正常工作与正的float值,但是当我得到消极的这个它会如何显示:
为:-0.4578 -> 0.-4578
,你可以说符号是不正确的地方,我的问题是否有办法做到这一点,而不使用例如:switch case
statemente或类似的东西? 在此先感谢!
'value * = 100000;'....你的意思是'var * = 100000;' – 2015-04-02 09:51:42
@Sourav对不起,对不起! – Engine 2015-04-02 09:52:59
浮点文字被写入(使用发布代码中的值)0.0f和10000.0f,没有小数点的文字既不是float也不是double。一个带小数点的文字,没有结尾的'f'是一个double。 – user3629249 2015-04-02 21:22:44