本文介绍了返回1从1,2从2,...,11从11,的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

Is there a Objective-c function to return a NSString * from a NSUInteger, i.e.:


  • 1 - >第一

  • 2 - >第二

  • 。 ..

  • 10 - > 10th

  • 21 - > 21st

  • ...

  • 31 - > 31st

  • 1 -> 1st
  • 2 -> 2nd
  • ...
  • 10 -> 10th
  • 21 -> 21st
  • ...
  • 31 -> 31st

$ b

推荐答案

- (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期。

EDIT:
Fixed the 11, 12, 13 issue.

这篇关于返回1从1,2从2,...,11从11,的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-15 17:18