我試圖使用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