我正在尝试让NSNumberFormatter显示货币。我有两个UILabels,它们的格式都是相同的NSNumberFormatter,但是第一个用括号括起来。这是我的代码:
NSNumberFormatter *fmtCurrency = [[[NSNumberFormatter alloc] init] autorelease];
[fmtCurrency setNumberStyle: NSNumberFormatterCurrencyStyle];
[fmtCurrency setGeneratesDecimalNumbers:TRUE];
[fmtCurrency setCurrencyCode:@"GBP"];
[fmtCurrency setCurrencySymbol:@"£"];
// formatter generates decimal numbers
txtTotal.text = [fmtCurrency stringFromNumber: result.totalBill ]; // displays (£1100.00)
txtTransition.text = [fmtCurrency stringFromNumber: result.transition]; // displays £120,000.00我在InterfaceBuilder上寻找了一个“如果太长就添加括号”选项,但似乎没有一个,而且没有括号就能正确显示的第二个标签比第一个标签长。
发布于 2011-08-01 19:12:44
在设置格式化程序时,您可以相信系统会做正确的事情,只需强制执行您想要的区域设置:
NSNumberFormatter *fmtCurrency = [[[NSNumberFormatter alloc] init] autorelease];
[fmtCurrency setNumberStyle: NSNumberFormatterCurrencyStyle];
NSLocale* locale = [[[NSLocale alloc] initWithLocaleIdentifier:@"en_UK"] autorelease];
[fmtCurrency setLocale:locale];https://stackoverflow.com/questions/6897498
复制相似问题