iphone - 从 1 返回第 1 个,从 2 返回第 2 个,...,从 11 返回第 11 个,

标签 iphone cocoa-touch

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

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

范围从 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 问题。

关于iphone - 从 1 返回第 1 个,从 2 返回第 2 个,...,从 11 返回第 11 个,,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3529887/

相关文章:

iphone - 主视图从中心点旋转 360 度,但内部 View 也在旋转

iphone - 如何创建多阶段 UIImageView 动画?

ios - 如何在我的 ios 应用程序中为帮助页面添加此格式化文本

cocoa-touch - NSNumberFormatter 用于向上舍入浮点值

objective-c - 如何将图像设置为 UIImage

iphone - 如何在不加载空页面的情况下清理 UIWebView 的内容?

iOS UITableViewController 即使在顶部稍微滚动一下也会显示 UIRefreshControl

iphone - 监控 iPhone 应用程序中的内存使用情况?

iphone - 应用商店更新后本地存储清除?

iphone - 没有 Storyboard uiviewcontroller 对其他 uiviewcontroller 透明