2014-05-06 89 views
2

我試圖將double值截斷爲兩位小數。我嘗試過使用:Objective C將double值截斷爲2位小數

[highScoreLabel setText:[NSString stringWithFormat:@"Highscore: %.2f",finalTime]]; 

但是我發現它在2個位置後四捨五入。這會使我向遊戲中心報告的分數和應用程序中顯示的分數不同。如何捨去小數的其餘部分而不捨去它?

回答

4

@dasdom答案是偉大的。但是,如果你不喜歡的隱式轉換,你可以使用

finalTime = trunc(finalTime * 100)/100; 

如果您將收到一個錯誤,「TRUNC」功能是未知的 - 只需要導入文件math.h頭:

#import <math.h> 
+0

這是我的解決方案結束了使用,所以我接受了這個。謝謝@dasdom! – SomeGuy

+0

另外,這使「%f」成爲正確的變量。 Upvoted因爲這解決了我所有的四捨五入問題。 – nickdnk

2

轉儲溶液(未測試):

finalTime = ((int)(finalTime * 100.0f))/100.0f; 
相關問題