时间组件与Objective-C中的其他组件分开

时间:2011-04-06 13:21:05

标签: iphone objective-c nsdate

C和我正在讲一个讲话时钟。我的问题是我可以将时间(小时和分钟)保存在两个NSInteger中但我无法比较它们。

具体问题是我想分开时间(例如小时存储在NSInteger中,如下所示:16。我希望获得1和{分别{1}}。我想将一个数字与另一个数字分开来比较它们。

任何人都可以帮助我吗?一个好的比较语法也将是一个很大的帮助!谢谢。

2 个答案:

答案 0 :(得分:0)

如果我理解了您的请求,您想将整个数字分成0-9的数字?

你可以这样做:

int hours = 16
int hour1 = hours / 10;
int hour2 = hours - hour1
hour2     = hours % 10;

int minutes = 47;
int minute1 = minutes / 10;
int minute2 = minutes - minute1;
minute2 = minutes % 10;

答案 1 :(得分:0)

我希望将div功能用于此目的(对于NSInteger,请使用ldiv):

ldiv_t q;
NSInteger hours = 16;
q = ldiv(hours, 10);
NSInteger hours_tens_digit = q.quot;
NSInteger hours_minutes_digit = q.rem;

更新:正如amattn在评论中指出的那样,iOS上的NSInteger为32位,因此您可以使用divldiv。 (当然,使用类似输入的标准库函数是NSInteger突然变得不那么有用的情况之一。)