2010-04-01 12 views

risposta

2

Vedere this question.

risposta accettata da Brian Ramsay è:

Attribuite 326,4 secondi, pseudo-codice:

minutes = floor(326.4/60) 
seconds = round(326.4 - minutes * 60) 

Se si stampa con %02d, si ottengono per esempio 03:08 se uno numero è inferiore a 10.

+0

con "% 2d" si otterrebbe "3: 8", si desidera % 02d invece di ottenere lo zero iniziale. – progrmr

+0

Grazie per averlo indicato @progrmr; Non ho più rivisto questa risposta per vedere lo squilibrio. –

30
NSTimeInterval interval = 326.4; 
long min = (long)interval/60; // divide two longs, truncates 
long sec = (long)interval % 60; // remainder of long divide 
NSString* str = [[NSString alloc] initWithFormat:@"%02d:%02d", min, sec]; 

L'identificatore di formato% 02d ti dà un numero a 2 cifre con uno zero.

Nota: questo è solo per i valori positivi dell'intervallo.

+0

Grazie! Questo è perfetto – daidai

+0

basta prendere il valore assoluto dell'intervallo, quindi fare i calcoli in modo che funzioni anche per i valori negativi. +1 per una buona soluzione! – Sam

Problemi correlati