Преобразование числовых значений в OBJC в значения времени?(часы вместо процента от часа) - PullRequest
1 голос
/ 06 марта 2012

В настоящее время я пытаюсь преобразовать значения 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 ]

1 голос
/ 06 марта 2012

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

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

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

1 голос
/ 06 марта 2012

Таким образом, все, что вам нужно - это преобразовать 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];

ура (не проверено)

...