5
是否有一个Objective-C的函数从NSUInteger
返回NSString *
,即:从1月1日返回,从第2 2,...,11日从11
- 1 - > 1
- 2 - >第二
- ...
- 10 - > 10号
- 21 - > 21
- ...
- 31 - > 31秒t
范围从1到31.谢谢!
是否有一个Objective-C的函数从NSUInteger
返回NSString *
,即:从1月1日返回,从第2 2,...,11日从11
范围从1到31.谢谢!
- (NSString *)stringFromInt:(int)num {
NSString stringAddition;
if (num%100 >= 11 && num%100 <= 13) {
stringAddition = @"th";
}
else {
switch (num % 10) {
case 1: stringAddition = @"st"; break;
case 2: stringAddition = @"nd"; break;
case 3: stringAddition = @"rd"; break;
default: stringAddition = @"th"; break;
}
}
return [NSString stringWithFormat:@"%i%@", num, stringAddition];
}
编辑:
修正了11,12,13日发行。
'11','12','13'怎么样? – polygenelubricants 2010-08-20 10:37:36
你打电话回来“11st”工作? “第12”? “第13”? “31号”是好的,但“11号”是纯粹的破损。如果你真的想要覆盖所有的基础,那么这些特殊情况可能应该拥有自己的“if()”语句。另外我宁愿这种方法被称为可能“ordinalFromInt”,而不是“stringFromInt” - 该名称并没有告诉我,我们正在添加任何东西,我期望它是'[NSString stringWithFormat:@ “%d”,num]'。 – 2010-08-20 11:59:34
你只需要多一点,就在return的上面:'if(num> = 11 && num <= 13)stringAddition = @“th”;'。 – 2010-08-20 12:06:16