0
在我的代碼有一個減法如此:(數字是任意的)printf的僅顯示十進制和一個字符之後它
(2.3 + 6.0) - 我想使用8.3 = 0.0
爲了顯示這個printf函數:不管我用什麼樣的printf的變化0.0然而,最好的我可以用0.0%.1F
任何人都知道的方法嗎?
在我的代碼有一個減法如此:(數字是任意的)printf的僅顯示十進制和一個字符之後它
(2.3 + 6.0) - 我想使用8.3 = 0.0
爲了顯示這個printf函數:不管我用什麼樣的printf的變化0.0然而,最好的我可以用0.0%.1F
任何人都知道的方法嗎?
的snprintf可以使用,但我寧願具有更簡單的if/else邏輯。避免了對lib的更多依賴。 0.0的情況是一個獨特的情況。如果有幾個條件需要處理,snprintf可能會更好。
if(num == 0.0f) {
printf(".0");
}
else {
printf(".2f", num);
}
請記住,有罕見的fp結果接近零,但不是絕對零。所以請小心使用。
查看http://stackoverflow.com/questions/2595738/c-how-to-hide-leading-zero-in-printf – mfuchs 2015-02-24 18:46:09
有一種感覺,謝謝我會檢查出 – melbah 2015-02-24 18:48:31
尤其是第三個答案( JF塞巴斯蒂安)很可能會幫助你。 – mfuchs 2015-02-24 18:49:19