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

时间:2011-05-05 03:31:20

标签: cocoa nsnumberformatter

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

3 个答案:

答案 0 :(得分:3)

从iOS 9.0 +,macOS 10.11 +,tvOS 9.0+和watchOS 2.0+开始,这都在标准的Cocoa库中:

夫特

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

print(ordinalFormatter.string(from: NSNumber(value: 3))) // 3rd

目标C

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

NSLog([ordinalFormatter stringFromNumber: @3]); // 3rd

答案 1 :(得分:1)

ADNOrdinalNumberFormatter执行序数格式化,但遗憾的是无法识别本地化。

答案 2 :(得分:0)

来自TTTOrdinalNumberFormatter

FormatterKit使用以下语言进行序数格式化:

  • 中国
  • 荷兰
  • 德国
  • 意大利
  • 爱尔兰
  • 日本
  • 葡萄牙语
  • 西班牙语