簡體   English   中英

NSString到NSDate使用浮點值

[英]NSString to NSDate with float values

我正在開發OS X桌面應用程序,該應用程序將跟蹤賽車事件的時間。

飛行員之間的差異可能很小,因此每一圈收集到的數據都具有秒的浮點值:

bestLap = @"00:01:39.5930000"

但是我需要比較每個飛行員的時間並進行排序。 我正在嘗試使用NSDateFormatter將其轉換為NSDate對象,但我無法使其正常工作

是否可以將這樣的字符串轉換為NSDate? 如果是這樣,我如何比較和排序包含NSDates的數組

謝謝

NSDate用於表示日期 ,而不是時間間隔。

另外,如果僅是對它們進行排序,則無需將字符串轉換為NSDate或NSTimeInterval,因為如果時間間隔短於格式中的其他時間間隔,則已經按照字典順序對其進行了排序。

這意味着,調用-sortUsingSelector:就足夠了。

[theMutableArrayOfLaps sortUsingSelector:@selector(compare:)];

正如KennyTM所說,如果您只需要訂購,按字典順序排序就足夠了。 如果您確實想要獲取用於比較和報告目的的數值,則可以將字符串分解為多個部分,然后轉換為類似以下內容的double精度形式:

NSArray* parts = [bestLap componentsSeparatedByString:@":"];
double bestLapInSeconds = [[parts objectAtIndex:0] doubleValue] * 3600    // hours
                          + [[parts objectAtIndex:1] doubleValue] * 60    // minutes
                          + [[parts objectAtIndex:2] doubleValue];        // seconds

(請注意,這只是簡單地假設原始字符串符合“ H:M:S”格式,而沒有任何錯誤檢查。通常,您不應在現實生活中這樣做!)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM