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