Obj-C:将INT转换为格式为“第六”或“第二十三”的文本

时间:2013-07-06 00:31:47

标签: objective-c nsstring integer nsnumberformatter

我真的不知道该怎样称呼这种格式,可能是“计算文本”或其他东西。 (没有一个好名字也使得搜索答案变得很难,所以如果之前已经回答过,我会为双重帖子道歉。)

我想将整数“6”转换为字符串“six”,或将“23”转换为“second second”。我找到了像this one这样的答案关于使用NSNumberFormatterSpellOutStyle进行转换,但这给了我“六”或“二十三”。我想我可以做到这一点然后写一些复杂的东西来检查字符串的最后几个字符并附加“th”或用“ird”替换“ree”,但我想知道是否有更优雅的解决方案? / p>

有没有人知道任何内置方法,或任何可以完成此操作的代码示例?

1 个答案:

答案 0 :(得分:1)

我认为您可能会想到的是序数。试试这些库:

另请参阅此SO帖子:Objective-C: format numbers to ordinals: 1, 2, 3, .. to 1st, 2nd, 3rd