Преобразование числовых значений в 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);
и то же самое для другой переменной.