带有 NSNumberFormatter 的字符串复数器



我想通过通常的复数技术.stringsdict文件显示一个格式良好的整数值。(苹果文档在这里。

所以如果我有一件事,我希望我的输出读取

1 件事

但是如果我有两千三百六十四件东西,我想要那些逗号:

2,364 事物

但是唉,字符串复数技术并没有给我它们:

2364 事物

我可以用NSNumberFormatter实现逗号.我可以用.stringsdict本地化技术实现多元化。

我能轻松实现两者吗?

由于您已经使用正确的复数字符串设置了.stringsdict文件,因此实际上不需要数字格式化程序。只需使用localizedStringWithFormat方法StringNSString

假设您已在 Localizable.string 文件和.stringsdict文件中设置了本地化的密钥"%d things",则代码将如下所示:

迅速:

let things = 2364
let localizedString = String.localizedStringWithFormat(NSLocalizedString(@"%d things", @"Your comment"), things)

目标-C:

int things = 2364;
NSString *localizedString = [NSString localizedStringWithFormat:NSLocalizedString(@"%d things", @"Your comment"), things];

根据您的区域设置,结果将如下所示:

2,364

事物
2.364 事物 2 364 事物

最新更新