nic*_*las 6 currency nsnumberformatter ios
我在获取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]]);
Run Code Online (Sandbox Code Playgroud)
以下是控制台结果:
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
Run Code Online (Sandbox Code Playgroud)
我不能强制使用currencySymbol,因为它可以改变.
有没有办法获得对应给定currencyCode的正确currencySymbol?
谢谢
问题可能是[formatter setLocale:[NSLocale currentLocale]];
覆盖了您之前所做的一些配置。您可能想尝试将该行移动到顶部(就在 alloc/init 行之后)。
归档时间: |
|
查看次数: |
3255 次 |
最近记录: |