本地化价格详情 - E.G. 50美元至1000元人民币

时间:2010-12-23 23:53:28

标签: iphone cocoa localization

我想在我的iPhone应用中本地化价格。能否指导我如何实现这一目标。

例如:

$ 50 Vs A $ 1,480.00 Vs RMB 1450 Vs£999.00 等

2 个答案:

答案 0 :(得分:4)

NSNumberFormatter *numberFormatter = [[NSNumberFormatter alloc] init];
[numberFormatter setFormatterBehavior:NSNumberFormatterBehavior10_4];
[numberFormatter setNumberStyle:NSNumberFormatterCurrencyStyle];
[numberFormatter setLocale:[NSLocale currentLocale]];
NSString *formattedString = [numberFormatter stringFromNumber:price];

NSLog(@"Local price: %@", formattedString);

如果您只想要货币符号,可以使用:

NSString *sym = [[NSLocale currentLocale] objectForKey:NSLocaleCurrencySymbol]

答案 1 :(得分:2)

你有两个问题:

  1. 如何将一种货币的数字转换为另一种货币,特别是因为货币汇率每小时波动一次。
  2. 如何格式化特定货币格式的数字。
  3. 第二个很简单,@ coneybeare在帖子中回答:使用NSNumberFormatter

    第一部分也很简单,如果你知道在哪里看。我建议检查一下我写的名为DDUnitConverter的单元转换器库:https://github.com/davedelong/DDUnitConverter

    它拥有的转换模块之一是货币转换器,它从国际货币基金组织(IMF)异步提取其汇率。