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

ohh*_*hho 5 iphone cocoa-touch

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

  • 1 - > 1
  • 2 - > 2
  • ...
  • 10 - > 10
  • 21 - > 21
  • ...
  • 31 - > 31

范围从1到31.谢谢!

Mic*_*ler 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];
}
Run Code Online (Sandbox Code Playgroud)

编辑:
修正了11,12,13号问题.

  • 怎么样'11`,`12`,`13`? (2认同)
  • 上面的代码会打破113,213,1013等不会吗?我建议检查是否(num%100> = 11 && num%100 <= 13) (2认同)