如何从ISOCurrencyCodes获取NSNumberFormatter货币样式?

nmd*_*ias 5 objective-c nsnumberformatter ios nslocale

如果我要使用EUR或USD(两种ISO货币代码),我怎么能让我的NSNumberFormatter正确格式化我这样的字符串?

对于EUR代码:10.000,00€对于美元代码:$ 10,000.00

我可以通过设置localeIdentifier来做到这一点.但我真的需要从ISO货币代码中获取它.这可能吗?

[numberFormatter stringFromNumber: [_property price]];
Run Code Online (Sandbox Code Playgroud)

谢谢!

rma*_*ddy 10

使用setCurrencyCode:方法NSNumberFormatter.

[numberFormatter setCurrencyCode:@"EUR"];
Run Code Online (Sandbox Code Playgroud)

要么

[numberFormatter setCurrencyCode:@"USD"];
Run Code Online (Sandbox Code Playgroud)

请记住,即使将使用所需的货币符号,结果货币值字符串仍将根据用户的区域设置进行格式化.

  • 你没有选择.甚至美元用于多种语言环境.就个人而言,我不同意你的评估.我住在美国.我希望看到美元为"$ 10,000.00".我也希望看到欧元为"€10,000.00".我不希望将其视为"10.000,00".这对美国人来说很困惑,因为我们使用相反的分组和小数符号.无论你决定什么,祝你好运. (11认同)
  • 但这没有任何意义.例如,欧元被来自许多不同地区的人们使用.有些人希望看到"1 000.00€",有些人想要"1.000,00",有些人想要"€1,000.00"等等.对于给定的货币代码,没有单一的"正确"格式. (5认同)