Как отделить и хранить часы и минуты от 3.875 часов - PullRequest
2 голосов
/ 24 августа 2011

Я пытаюсь рассчитать время от расстояния и скорости. Т.е. 155 км ехал со скоростью 40 км / ч. Это составляет 3,875 часа. Но мне нужно, чтобы это отображалось как ЧЧ: ММ.

Как мне конвертировать 3,875 часа в чч и мм?

double kmNumber = [Input1.text doubleValue];   // 155
double kmHourNumber = [Input3.text doubleValue];   // 40

double hoursAndMinutes = number1 / number3;  // 3,875
[display setText:@"If you travel %f at %f you would use %f.", kmNumber, kmHourNumber, hoursAndMinutes];

Любая помощь будет оценена!

Ответы [ 2 ]

3 голосов
/ 24 августа 2011
int hours = (int)hoursAndMinutes;   // the integer part is the hours
int minutes = (hoursAndMinutes-hours)*60;   // the fractional part of an hour

NSLog(@"HH:MM = %02d:%02d", hours, minutes);
1 голос
/ 24 августа 2011

Использовать NSDateComponents.Используйте следующее, чтобы получить компоненты даты:

NSDateComponents *components = [[NSCalendar currentCalendar] components:(NSHourCalendarUnit | NSMinuteCalendarUnit) fromDate:inputDate];

А затем просто используйте components.hour и components.minute, чтобы получить соответствующие часы и минуты как целые числа.Это лучше, чем другой ответ, поскольку он будет реагировать соответственно на иностранные календари, где часы и минуты не обязательно соответствуют тем же правилам.

...