2015-10-14 49 views
0

我用下面的代碼來獲取文件的長度,並顯示在NSStirng放映長度:SS

float seconds=0.0; 
AVURLAsset *asset = [[AVURLAsset alloc] initWithURL:videoURL options:nil]; 
if (asset){ 
     seconds = CMTimeGetSeconds(asset.duration); 
    } 

    NSString *lengthString = [NSString stringWithFormat:@"%0.f:%0.f",seconds/60, fmod(seconds, 60.0)]; 

    NSLog(@"Duration: %@", lengthString); 

結果是:

1:1 

stringWithFormat中有沒有任何選項可以讓我們在數字少於10的情況下使用0之前的0來表示01號碼?

更好的說法是,如何在number爲1時輸出01或在number爲9時輸出09。另外,當number是10時,輸出也是10。

回答

0

您應該使用%02d,在格式化過程中將float轉換爲int。這也會稍微快一點。

NSString *lengthString = [NSString stringWithFormat:@"%02d:%02d", (int)seconds/60, (int)seconds % 60]; 
+0

感謝您的幫助 –

1

%02f。例如

NSString * lengthString = [NSString stringWithFormat:@"%02f:%02f",seconds/60, fmod(seconds, 60.0)]; 
+0

感謝您的幫助,我接受@ l00phone的答案,因爲他更早發佈。但也非常感謝你。 –

+0

@HuseinBehbudiRad。如果你不能接受它,你可以放棄它。 –