2015-02-24 15 views
0

在我的代碼有一個減法如此:(數字是任意的)printf的僅顯示十進制和一個字符之後它

(2.3 + 6.0) - 我想使用8.3 = 0.0

爲了顯示這個printf函數:不管我用什麼樣的printf的變化0.0然而,最好的我可以用0.0%.1F

任何人都知道的方法嗎?

+0

查看http://stackoverflow.com/questions/2595738/c-how-to-hide-leading-zero-in-printf – mfuchs 2015-02-24 18:46:09

+0

有一種感覺,謝謝我會檢查出 – melbah 2015-02-24 18:48:31

+0

尤其是第三個答案( JF塞巴斯蒂安)很可能會幫助你。 – mfuchs 2015-02-24 18:49:19

回答

0

的snprintf可以使用,但我寧願具有更簡單的if/else邏輯。避免了對lib的更多依賴。 0.0的情況是一個獨特的情況。如果有幾個條件需要處理,snprintf可能會更好。

if(num == 0.0f) { 
    printf(".0"); 
} 
else { 
    printf(".2f", num); 
} 

請記住,有罕見的fp結果接近零,但不是絕對零。所以請小心使用。

相關問題