Преобразование числовых значений в OBJC в значения времени? (часы вместо процента от часа)

В настоящее время я пытаюсь преобразовать значения XML, которые представляют два раза.

пример:

<from>960</from>
<to>975</to>

я храню эти 2 значения в двух двойных:

double From = from;
double To = to;

Теперь, если я сделаю

From=From/60;
To=To/60;

а также

NSString *fromString = [NSString stringWithFormat:@"%f",From];
NSString *toString = [NSString stringWithFormat:@"%f",To];

после этого я разбиваю их вместе на одну строку, разделенную " - ", и NSLog новая строка:

NSLog(@"New String: %@",FromToString);

Выходной: 16:00-16:25

Теперь то, что я пытаюсь сделать здесь, это для FromToString чтобы получить значение 16:00 - 16:15

Итак, вопрос в том, как мне пересчитать это, чтобы представить часы в 60 минутах вместо процентов за час? O_o

2 ответа

Решение

Так что все, что вам нужно, - это преобразовать double (например, 9.5) в строку (в данном случае: 09:30), верно?

Вы можете сделать это так:

// get hours
NSInteger hours = (int)floor(number);

// get minutes
NSInteger minutes = (int)floor((number-hours)*60);

// construct string
NSString* timeString = [NSString stringWithFormat: @"%02d:%02d", hours, minutes];

ура (не проверено, хотя)

Вам понадобятся две переменные, что-то вроде

fromHours = floor(from/60);
fromMinues = from % 60;
NSString fromTime = [NSString stringWithFormat:"%02f:%02f", 
                                               fromHours, fromMinues);

и то же самое для другой переменной.

Другие вопросы по тегам