NSNumberFormatter and 'th' 'st' 'nd' 'rd' (ordinal) number endings

前端 未结 20 1302
粉色の甜心
粉色の甜心 2020-12-03 00:38

Is there a way to use NSNumberFormatter to get the \'th\' \'st\' \'nd\' \'rd\' number endings?

EDIT:

Looks like it does not exist. Here\'s what I\'m using.

20条回答
  •  南笙
    南笙 (楼主)
    2020-12-03 01:42

    The correct way to do this from iOS 9 onwards, is:

    NSNumberFormatter *numberFormatter = [[NSNumberFormatter alloc] init];
    numberFormatter.numberStyle = NSNumberFormatterOrdinalStyle;
    
    NSLog(@"%@", [numberFormatter stringFromNumber:@(1)]); // 1st
    NSLog(@"%@", [numberFormatter stringFromNumber:@(2)]); // 2nd
    NSLog(@"%@", [numberFormatter stringFromNumber:@(3)]); // 3rd, etc.
    

    Alternatively:

    NSLog(@"%@", [NSString localizedStringFromNumber:@(1)
                                         numberStyle:NSNumberFormatterOrdinalStyle]); // 1st
    

提交回复
热议问题