我在获取 NSNumberFormatter 的 currencySymbol 时遇到问题。
我使用带有货币代码“EUR”的 NSNumberFormatter。
当我格式化价格时,符号是正确的,我得到了€符号。
但是,当我想使用方法 [formatter currencySymbol] 获取 currencySymbol 时,会返回符号 $。
如果我手动设置currencySymbol(例如使用“A”),一切都会正常工作,方法[formatter currencySymbol] 将返回“A”符号。
这是我的代码
// Create formatter
NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init];
[formatter setNumberStyle:NSNumberFormatterCurrencyStyle];
[formatter setCurrencyCode:@"EUR"];
[formatter setLocale:[NSLocale currentLocale]];
// Log the currency symbol
NSLog(@"[formatter currencyCode] : %@", [formatter currencyCode]);
NSLog(@"[formatter currencySymbol] : %@", [formatter currencySymbol]);
NSLog(@"[formatter currencySymbol] : %@", [formatter stringFromNumber:[NSNumber numberWithInt:0]]);
[formatter setCurrencySymbol:@"A"];
NSLog(@"[formatter currencySymbol] : %@", [formatter currencySymbol]);
NSLog(@"[formatter currencySymbol] : %@", [formatter stringFromNumber:[NSNumber numberWithInt:0]]);
以下是控制台结果:
2012-01-17 12:29:11.108[4545:207] [formatter currencySymbol] : $
2012-01-17 12:29:11.109[4545:207] [formatter currencySymbol] : €0.00
2012-01-17 12:29:11.110[4545:207] [formatter currencySymbol] : A
2012-01-17 12:29:11.111[4545:207] [formatter currencySymbol] : A0.00
我不能强制使用currencySymbol,因为它可以改变。
有没有办法获得与给定 currencyCode 对应的正确 currencySymbol ?
谢谢