Fdo*_*Fdo 2 iphone localization currency objective-c ios
我无法从货币代码(例如“美元”)中获取货币符号(例如“$”)。
我目前正在尝试这种方式:
NSString *code = [NSLocale ISOCurrencyCodes][indexPath.row];
NSLog(@"%@", [[NSLocale currentLocale] displayNameForKey:NSLocaleCurrencySymbol value:code]);
Run Code Online (Sandbox Code Playgroud)
结果接收(空)... 寻找从货币代码中获取货币符号的正确方法。
即使我还没有看到结果,我很确定这会给出重复的条目(例如,欧元区国家将被重复,最终会出现许多不同的“€”符号)。有没有更好的方法来解决这个问题?
编辑:我对 NSNumberFormatter 没有问题,我需要的是iOS 中支持的所有货币的列表,供用户选择一种(我将使用 NSNumberFormatter 处理正确货币的格式,没有问题)。
谢谢
我无法重现您的问题。以下工作正常:
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[]) {
@autoreleasepool {
for (NSString *code in [NSLocale ISOCurrencyCodes]) {
NSLog(@"%@ -> %@", code, [[NSLocale currentLocale] displayNameForKey:NSLocaleCurrencySymbol value:code]);
}
}
return 0;
}
Run Code Online (Sandbox Code Playgroud)
我怀疑你的问题indexPath.row不是你期望的那样。
你不应该期望有很多重复(如果有的话)。货币代码列表没有列出国家;它列出了货币。所以只有一个 EUR 映射到 €。在我的系统上,除了两个解决方案(EQE 和 LSM 是已停产的货币)。
请记住,我正在查看的列表中有 299 种不同的货币,因此您的选择列表可能比您想象的要长得多。
| 归档时间: |
|
| 查看次数: |
2737 次 |
| 最近记录: |