从1回到1,从2回到2,...,从11回到11,

时间:2010-08-20 10:05:06

标签: iphone cocoa-touch

是否有Objective-c函数从NSString *返回NSUInteger,即:

  • 1 - >第1次
  • 2 - >第二次
  • ...
  • 10 - > 10日
  • 21 - > 21日
  • ...
  • 31 - > 31

范围从1到31.谢谢!

1 个答案:

答案 0 :(得分:7)

- (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号问题。