将数字格式化为序数?(第 1、第 2 等)

the*_*end 3 cocoa nsnumberformatter

有没有办法将可可中的数字格式化为其序数字符串 1st、2nd、3rd 等......最好是本地化的?谢谢你,何塞

Sup*_*tar 8

对于 iOS 9.0+、macOS 10.11+、tvOS 9.0+ 和 watchOS 2.0+,这是在 Foundation 中:

迅速

let ordinalFormatter = NumberFormatter()
ordinalFormatter.numberStyle = .ordinal

print(ordinalFormatter.string(from: NSNumber(value: 3))) // 3rd
Run Code Online (Sandbox Code Playgroud)

目标 C

NSNumberFormatter * ordinalFormatter = [NumberFormatter new];
ordinalFormatter.numberStyle = NSNumberFormatterOrdinalStyle;

NSLog([ordinalFormatter stringFromNumber: @3]); // 3rd
Run Code Online (Sandbox Code Playgroud)


0xc*_*ced 1

ADNOrdinalNumberFormatter进行序数格式化,但不幸的是不支持本地化。