0
我需要能夠計算兩個日期之間的時間差,然後將該值存儲爲一個數字精度十進制格式。所以如果時差是6分鐘,我需要返回.1,如果是3分鐘,我仍然需要.1返回,但如果是7分鐘或12分鐘,我需要返回0.2。時間差的減法工作正常:使用NSNumberFormatter以十進制獲取時間值並四捨五入
NSTimeInterval interval = [currentFlight.landtime timeIntervalSinceDate:currentFlight.takeofftime];
返回想象中那麼如果差6(分鐘),我回來值爲0.100000。
我還需要在UILabel
中將此值顯示給用戶。當我使用這個號碼格式,0.100000被顯示爲0.2,而不是1.1:
NSNumberFormatter *ftDecimalFormatter = [[NSNumberFormatter alloc] init];
[ftDecimalFormatter setNumberStyle:NSNumberFormatterDecimalStyle];
[ftDecimalFormatter setMaximumFractionDigits:1];
[ftDecimalFormatter setMinimumFractionDigits:1];
[ftDecimalFormatter setRoundingMode:NSNumberFormatterRoundUp];
我已經嘗試了所有的差異四捨五入方法,但似乎沒有工作。有什麼建議麼?
我會加0.5,這可以用double保證表示,並且不會舍入到錯誤的數字。還有'round'函數(對於負數可以正常工作)。 – 2012-07-27 20:45:52
他想輪到最近的第10位,所以我認爲我是正確的,但後來我沒有測試這項技術。無論如何,他應該能夠使用這種類型的技術,而不是格式化程序。 – 2012-07-27 20:50:23