代码之家  ›  专栏  ›  技术社区  ›  QED

带NSNumberFormatter的字符串乘法器

  •  0
  • QED  · 技术社区  · 6 年前

    我想通过常用的复数技术显示格式良好的整数值 .stringsdict 文件(苹果文档 here. )

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

    1件事

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

    2364件事

    但遗憾的是,字符串复数化技术并没有给我:

    2364件事

    我可以用 NSNumberFormatter .我可以通过 .stringsdict 本地化技术。

    我能轻松实现这两个目标吗?

    1 回复  |  直到 6 年前
        1
  •  1
  •   rmaddy    6 年前

    既然你已经 .stringsdict 使用正确的复数字符串设置文件,实际上不需要数字格式化程序。只需使用 localizedStringWithFormat 方法 String NSString

    假设已设置本地化密钥 "%d things" 在您的本地化中。字符串文件和 .stringsdict 文件,您的代码将类似于:

    Swift:

    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];
    

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

    2364件事
    2.364事物
    2364件事