Objective-C:将数字格式化为序数:1,2,3,...到1st,2nd,3rd [英] Objective-C: format numbers to ordinals: 1, 2, 3, .. to 1st, 2nd, 3rd

查看:161
本文介绍了Objective-C:将数字格式化为序数:1,2,3,...到1st,2nd,3rd的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在目标C中,是否有任何方法来格式化整数为序号
1 =>1st,2 =>2nd等。 。适用于任何语言
因此,如果用户是法国人,他会看到1er,2ieme等..

非常感谢!



编辑
这是用于一个iOs应用程序

解决方案

你有没有看过 TTTOrdinalNumberFormatter 这是在 FormatterKit ?它工作的很好,我很确定这正是你在找什么。




以下是一个从套件中取得的例子:

  TTTOrdinalNumberFormatter * ordinalNumberFormatter = [[TTTOrdinalNumberFormatter alloc] init]; 
[ordinalNumberFormatter setLocale:[NSLocale currentLocale]];
[ordinalNumberFormatter setGrammaticalGender:TTTOrdinalNumberFormatterMaleGender];
NSNumber * number = [NSNumber numberWithInteger:2];
NSLog(@%@,[NSString stringWithFormat:NSLocalizedString(@You come in%@ place!,nil),[ordinalNumberFormatter stringFromNumber:number]]);

假设您已经提供了您来自%@ place!的本地化字符串, be:

  *英语:你来了第二名! 
*法语:Vousêtesvenuàla 2eme place!
*西班牙文:Usugle!2.o lugar!


In Objective C, is there any way to format an integer to ordinals 1 => "1st", 2 => "2nd" etc... that works for any language? So if the user is French he will see "1er", "2ieme" etc..

Thanks a lot!

Edit: This is for an iOs app

解决方案

Have you taken a look at TTTOrdinalNumberFormatter which is in FormatterKit? It works great, and I'm pretty sure it's exactly what you're looking for.


Here's an example taken from the kit:

TTTOrdinalNumberFormatter *ordinalNumberFormatter = [[TTTOrdinalNumberFormatter alloc] init];
[ordinalNumberFormatter setLocale:[NSLocale currentLocale]];
[ordinalNumberFormatter setGrammaticalGender:TTTOrdinalNumberFormatterMaleGender];
NSNumber *number = [NSNumber numberWithInteger:2];
NSLog(@"%@", [NSString stringWithFormat:NSLocalizedString(@"You came in %@ place!", nil), [ordinalNumberFormatter stringFromNumber:number]]);

Assuming you've provided localized strings for "You came in %@ place!", the output would be:

* English: "You came in 2nd place!"
* French: "Vous êtes venu à la 2eme place!"
* Spanish: "Usted llegó en 2.o lugar!"

这篇关于Objective-C:将数字格式化为序数:1,2,3,...到1st,2nd,3rd的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆