2
我試圖將double值截斷爲兩位小數。我嘗試過使用:Objective C將double值截斷爲2位小數
[highScoreLabel setText:[NSString stringWithFormat:@"Highscore: %.2f",finalTime]];
但是我發現它在2個位置後四捨五入。這會使我向遊戲中心報告的分數和應用程序中顯示的分數不同。如何捨去小數的其餘部分而不捨去它?
我試圖將double值截斷爲兩位小數。我嘗試過使用:Objective C將double值截斷爲2位小數
[highScoreLabel setText:[NSString stringWithFormat:@"Highscore: %.2f",finalTime]];
但是我發現它在2個位置後四捨五入。這會使我向遊戲中心報告的分數和應用程序中顯示的分數不同。如何捨去小數的其餘部分而不捨去它?
@dasdom答案是偉大的。但是,如果你不喜歡的隱式轉換,你可以使用
finalTime = trunc(finalTime * 100)/100;
如果您將收到一個錯誤,「TRUNC」功能是未知的 - 只需要導入文件math.h頭:
#import <math.h>
轉儲溶液(未測試):
finalTime = ((int)(finalTime * 100.0f))/100.0f;
這是我的解決方案結束了使用,所以我接受了這個。謝謝@dasdom! – SomeGuy
另外,這使「%f」成爲正確的變量。 Upvoted因爲這解決了我所有的四捨五入問題。 – nickdnk